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

StreamingHttpResponse

from django.http import 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:用于指定下载文件的默认名称
posted @ 2022-01-06 18:10  我在路上回头看  阅读(542)  评论(0编辑  收藏  举报