组织响应
# 发送压缩包
response = StreamingHttpResponse(self.read_file(zip_res_path))
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment;filename="download.zip"'
self.read_file
# 缓冲流下载文件方法
@staticmethod
def read_file(filename, chunk_size=512):
with open(filename, 'rb') as f:
while True:
c = f.read(chunk_size)
if c:
yield c
else:
break
PS: 记住使用 GET 方法, 前端使用模拟点击的方式, 点击该下载链接, 这样会触发浏览器的下载事件