现在我使用以下函数下载文件:
def download_xlsx(request):
user = request.user
file_name = request.GET['file_name']
file_path='main_app/static/xlsx/' + str(user.id) + '/' + file_name
if os.path.exists(file_path):
with open(file_path, 'rb') as fh:
response = HttpResponse(fh.read(), content_type="application/vnd.ms-excel")
response['Content-Disposition'] = "inline; filename=%s" % file_name
return response
使用以下网址http://127.0.0.1:8000/download_xlsx?file_name=test.xlsx
我下载了名为'download_xlsx'的文件
我试着写这样的东西:
response['Content-Disposition'] = "inline; filename='+ file_name
但没有帮助。如何将文件重命名为file_name
var? UPD:这似乎是非英语file_names的问题。但还是不知道怎么处理它
像这样工作(问题在于编码)
response['Content-Disposition'] = "inline; filename=%s" % file_name.encode('utf-8')