起因
工作需要维护一个工单系统,下载文件时如果文件名有中文会导致乱码,并且下载时不显示文件的完整大小,没有进度条
修改
原先接口是这样写的
# view入口
class DownFile(BaseView):
@manage_permission_check('workflow_admin')
def get(self, request, *args, **kwargs):
request_data = request.GET
file_name = request_data.get('file_name')
if not file_name:
file_name = r'./media/ticket_temp/社会面全量点位信息.csv'
return api_fileresponse(open(file_name, 'rb'))
# response构造接口
def api_fileresponse(data, name, content_type="application/octet-stream"):
res = StreamingHttpResponse(data, content_type=content_type)
res['Content-Disposition'] = 'attachment;filename="{}"'.format(name)
return res
导致下载时中文文件名丢失,无下载进度