文件传输,服务器上传至浏览器
分为两种, 直接路由到静态文件,可直接获取
使用 FileResponse 封装
-
直接路由到静态文件,可直接获取
- 在 settings 文件中设置路径
- 直接访问
http://<server>/static/<filename>
-
使用FileResponse
def filetransform(request, *args, **kwargs): # 设置请求头,设置文件名 ff = open("static/3.xlsx", 'rb') response = FileResponse(ff, as_attachment=True, filename="5.xlsx") response['content-type'] = 'application/octet-stream' response['Content-Disposition'] = 'attachment; filename="{}"'.format("4.xlsx") # 以此文件名为准 return response def markdown_file(request, *args, **kwargs): filename = "英语.xmind" ff = open("static/{}".format(filename), "rb") # 使用此方法能够避免不同文件造成文件名不可显示 response = FileResponse(ff, as_attachment=True, filename=filename) return response