后端的base64如何转成文件后传给前端下载
时间: 2023-05-24 20:03:00 浏览: 667
vue前端解析word,pdf,exl,图片,视频等文件预览,支持base64格式文件 预览
5星 · 资源好评率100%
A:首先,将后端的base64字符串转成二进制流,然后再将二进制流写入文件中。最后,设置响应头,将该文件作为附件形式发送给前端进行下载。
示例代码:
```python
import base64
# 假设后端的base64字符串为base64_str,文件名为test.txt
base64_bytes = base64_str.encode('utf-8')
binary_data = base64.decodebytes(base64_bytes)
# 将二进制流写入文件
with open('test.txt', 'wb') as f:
f.write(binary_data)
# 设置响应头,将文件作为附件形式发送给前端进行下载
response = HttpResponse(binary_data, content_type='application/octet-stream')
response['Content-Disposition'] = 'attachment; filename="test.txt"'
return response
```
在以上代码中,我们将base64字符串解码成二进制流,并将其写入文件中。接着,我们使用Django框架中的HttpResponse方法来发送二进制流给前端进行下载,需要注意的是,我们在响应头中设置了附件的名称,这样可以告诉浏览器该文件应该被下载。
阅读全文