Django关于StreamingHttpResponse与FileResponse响应文件或视频的下载请求

StreamingHttpResponse

StreamingHttpResponse(streaming_content):流式相应,内容的迭代器形式,以内容流的方式响应
# 示例
def homeproc2(request):
 response =  StreamingHttpResponse(open(file_path, 'rb'))
 response['Content-Type] = 'application/octet-stream'
 response['Content-Disposition'] = 'attachment;filename="filename"'
 return response
Content-Type:用于指定文件类型。
Content-Disposition:用于指定下载文件的默认名称

FileResponse

FileResponse(stream):以流形式打开后的文件

注:FileResponse是StreamingHttpResponse的子类
# 示例
def homeproc2(request):
 cwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 response = FileResponse(open(cwd + "/msgapp/templates/youfile", "rb"))
 response['Content-Type] = 'application/octet-stream'
 response['Content-Disposition'] = 'attachment;filename="filename"'
 return response
Content-Type:用于指定文件类型。
Content-Disposition:用于指定下载文件的默认名称

-------------------------------------------

个性签名:代码过万,键盘敲烂!!!

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

原文地址:https://www.cnblogs.com/weiweivip666/p/15772288.html