Advertisement
Guest User

Untitled

a guest
Apr 24th, 2014
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. if "Trident/" in request.META['HTTP_USER_AGENT']:
  2. content_disposition = 'attachment; filename="%s"' % iri_to_uri(smart_bytes(filename))
  3. elif "Safari/" in request.META['HTTP_USER_AGENT'] and not
  4. "Chrome/" in request.META['HTTP_USER_AGENT']:
  5. content_disposition = b'attachment; filename="%s"' % filename.encode("utf-8")
  6. else:
  7. filename_encoded = ""
  8. str_chunk_size = 30
  9. for i in range(int(math.ceil(len(filename)/float(str_chunk_size)))):
  10. if i != 0:
  11. filename_encoded += " =?UTF-8?B?"
  12. else:
  13. filename_encoded += "=?UTF-8?B?"
  14. filename_encoded += base64.b64encode(smart_bytes(filename[i*str_chunk_size: (i+1)*str_chunk_size])) + "?="
  15. content_disposition = 'attachment; filename="%s"' % filename_encoded
  16.  
  17. response = HttpResponse(content_type='application/force-download; charset=utf-8')
  18. response['Content-Disposition'] = content_disposition
  19. response['X-Sendfile'] = smart_bytes(os.path.join(STORAGE_ROOT, f.storage_name))
  20. response["Content-Length"] = f.size
  21. return response
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement