码迷,mamicode.com
首页 > 其他好文 > 详细

Django 下载功能中文文件名问题

时间:2020-04-30 22:56:52      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:cap   encoding   rtc   enc   request   return   中文   请求   保存   

from django.utils.encoding import escape_uri_path
from django.shortcuts import HttpResponse

def file_download(request):
    file_name = "凸凸.jpg"
    res = requests.get("https://nihaoshijie-17600663122-1588242519000-1301483025.cos.ap-beijing.myqcloud.com/%E5%87%B8%E5%87%B8.jpg")

    # 文件分块处理
    data = res.iter_content()

    # 设置内容类型 content_type=application/octet-stream (二进制流数据) 提示下载框
    response = HttpResponse(data, content_type="application/octet-stream")

    # 设置响应头:escape_uri_path中文件文件名转义
    response[‘Content-Disposition‘] = f"attachment; filename={escape_uri_path(file_name)};"
    ‘‘‘
    Content-Disposition可以控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,文件直接在浏览器上显示或者在访问时弹出文件下载对话框。
    如attachment为以附件方式下载,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理,关键在于一定要加上attachment
    ‘‘‘
    return response

Django 下载功能中文文件名问题

标签:cap   encoding   rtc   enc   request   return   中文   请求   保存   

原文地址:https://www.cnblogs.com/remixnameless/p/12811535.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!