Django 之 HttpResponse返回文件流
Posted 小小菜_v
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 之 HttpResponse返回文件流相关的知识,希望对你有一定的参考价值。
Django 返回文件流
实现如下:
from django.http import HttpResponse
@csrf_exempt
def get_file(request):
"""
获取文件
:param request:
:return:
"""
try:
book_id = request.GET.get("id")
file_name = BookInfo.objects.filter(id=book_id).values()
if file_name.count() == 0:
return HttpResponse(False)
file_path = "/opt/" + file_name
with open(file_path, 'rb') as f:
response = HttpResponse(f.read(), content_type="application/pdf", charset="utf-8")
response['Content-Dispositon'] = "attachment; filename={0}".format(file_name)
response["Access-Control-Allow-Origin"] = '*'
response["Server"] = '*'
return response
except KeyError:
return HttpResponse(False)
content_type=“application/pdf” 不仅是pdf,也可以是content_type="application/doc"等等文件类型
以上是关于Django 之 HttpResponse返回文件流的主要内容,如果未能解决你的问题,请参考以下文章
django之HTTPResponse和JsonResponse详解
Django,将文件附件作为HttpResponse返回,我可以获得文件大小吗?
将多个熊猫数据帧作为单个 Django zip 文件返回(每个 DF 一个文件)HttpResponse