python后端向前台返回字节流文件

python后端向前台返回字节流文件,浏览器访问地址自动下载文件:

from django.http.response import  StreamingHttpResponse

# 要下载的文件路径 the_file_name = "record.txt" # 这里创建返回 response = StreamingHttpResponse(self.file_iterator(the_file_name)) # 注意格式 response['Content-Type'] = 'application/txt' # 注意filename 这个是下载后的名字 response['Content-Disposition'] = 'attachment;filename="record.txt"' return response

  

def file_iterator(self, file_name, chunk_size=512):
    '''
    # 用于形成二进制数据
    :param file_name:
    :param chunk_size:
    :return:
    '''
    with open(file_name, 'rb') as f:
         while True:
             c = f.read(chunk_size)
             if c:
                 yield c
             else:
                 break

  

posted @ 2019-05-16 09:28  没有显示名称  阅读(4791)  评论(0编辑  收藏  举报