请教各位大神,为什么django下载的zip压缩包文件名中包含中文的就乱码啊? 5
各位朋友们好,我用django写了一个网页,可以下载zip的压缩包文件,但是如果该zip文件名含有中文,比如如果zip文件名是”math.zip”,那么下载的时候显示的文...
各位朋友们好,我用django写了一个网页,可以下载zip的压缩包文件,但是如果该zip文件名含有中文,比如如果zip文件名是”math.zip”,那么下载的时候显示的文件名也是”math.zip”,但是如果我提供的下载文件名是”1.1数的分类”,就会出现如” 79d6c6d5”这种乱码文件
下面是我的django处理下载zip压缩包的代码:
def zip_download(request):
try:
temp = open(zipfileName ,"rb")
except IOError as ex:
return HttpResponse("Open zip error")
wrapper = FileWrapper(temp)
response = HttpResponse(wrapper, content_type='application/zip')
realZipfileName = os.path.split(zipfileName)[1]
response['Content-Encoding'] = 'utf-8'
response['Content-Disposition'] = 'attachment; filename=%s' %realZipfileName
response['Content-Length'] = temp.tell()
temp.seek(0)
return response
请诸位大神指点一下,如何才能避免下载带有中文的zip压缩包乱码的问题,在此先谢过各位朋友。 展开
下面是我的django处理下载zip压缩包的代码:
def zip_download(request):
try:
temp = open(zipfileName ,"rb")
except IOError as ex:
return HttpResponse("Open zip error")
wrapper = FileWrapper(temp)
response = HttpResponse(wrapper, content_type='application/zip')
realZipfileName = os.path.split(zipfileName)[1]
response['Content-Encoding'] = 'utf-8'
response['Content-Disposition'] = 'attachment; filename=%s' %realZipfileName
response['Content-Length'] = temp.tell()
temp.seek(0)
return response
请诸位大神指点一下,如何才能避免下载带有中文的zip压缩包乱码的问题,在此先谢过各位朋友。 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
2个回答
展开全部
from django.utils.http import urlquote
file_name = u"uoload/20160314/是的发生.txt"
'''''''
response['Content-Disposition'] = 'attachment; filename="' + urlquote(name) +'"'
file_name = u"uoload/20160314/是的发生.txt"
'''''''
response['Content-Disposition'] = 'attachment; filename="' + urlquote(name) +'"'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询