各位朋友们好,我用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压缩包文件名中包含中文的就乱码啊?
答案:2 悬赏:10 手机版
解决时间 2021-04-13 04:41
- 提问者网友:半生酒醒
- 2021-04-12 12:03
最佳答案
- 五星知识达人网友:十鸦
- 2021-04-12 12:20
是不是需要设置一下,你框架的内部编码格式
全部回答
- 1楼网友:雾月
- 2021-04-12 12:59
from django.utils.http import urlquote
file_name = u"uoload/20160314/是的发生.txt"
'''''''
response['Content-Disposition'] = 'attachment; filename="' + urlquote(name) +'"'
再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯