http headers must be utf-8 encoded
This commit is contained in:
parent
29a0e79fbf
commit
01f7e31685
1 changed files with 6 additions and 0 deletions
|
@ -25,11 +25,15 @@ def HttpFileResponse(path, content_type=None, filename=None):
|
||||||
url = getattr(settings, PREFIX+'_URL', '')
|
url = getattr(settings, PREFIX+'_URL', '')
|
||||||
if root and path.startswith(root):
|
if root and path.startswith(root):
|
||||||
path = url + path[len(root)+1:]
|
path = url + path[len(root)+1:]
|
||||||
|
if isinstance(path, unicode):
|
||||||
|
path = path.encode('utf-8')
|
||||||
response['X-Accel-Redirect'] = path
|
response['X-Accel-Redirect'] = path
|
||||||
if content_type:
|
if content_type:
|
||||||
response['Content-Type'] = content_type
|
response['Content-Type'] = content_type
|
||||||
elif getattr(settings, 'XSENDFILE', False):
|
elif getattr(settings, 'XSENDFILE', False):
|
||||||
response = HttpResponse()
|
response = HttpResponse()
|
||||||
|
if isinstance(path, unicode):
|
||||||
|
path = path.encode('utf-8')
|
||||||
response['X-Sendfile'] = path
|
response['X-Sendfile'] = path
|
||||||
if content_type:
|
if content_type:
|
||||||
response['Content-Type'] = content_type
|
response['Content-Type'] = content_type
|
||||||
|
@ -37,6 +41,8 @@ def HttpFileResponse(path, content_type=None, filename=None):
|
||||||
else:
|
else:
|
||||||
response = HttpResponse(open(path), content_type=content_type)
|
response = HttpResponse(open(path), content_type=content_type)
|
||||||
if filename:
|
if filename:
|
||||||
|
if isinstance(filename, unicode):
|
||||||
|
filename = filename.encode('utf-8')
|
||||||
response['Content-Disposition'] = 'attachment; filename="%s"' % filename
|
response['Content-Disposition'] = 'attachment; filename="%s"' % filename
|
||||||
response['Expires'] = datetime.strftime(datetime.utcnow() + timedelta(days=1), "%a, %d-%b-%Y %H:%M:%S GMT")
|
response['Expires'] = datetime.strftime(datetime.utcnow() + timedelta(days=1), "%a, %d-%b-%Y %H:%M:%S GMT")
|
||||||
return response
|
return response
|
||||||
|
|
Loading…
Reference in a new issue