求助:如何将API返回的PDF数据保存为本地文件
如何将API返回的PDF数据保存为文件
正确实现代码
直接获取API响应的二进制内容,写入文件即可:
import requests # 发送请求获取PDF数据 response = requests.get("你的API接口地址") # 以二进制写入模式保存文件 with open('test.pdf', 'wb') as f: f.write(response.content)
你之前的错误原因
- 错误使用
response.text:PDF是二进制格式文件,response.text会将响应内容按文本编码解析,这个过程会破坏原始字节结构,导致写入的文件损坏无法正常打开。 - 多余的base64处理:从你提供的PDF数据示例来看,API返回的是原始PDF二进制数据,并非base64编码后的字符串,强行进行base64编码会完全破坏数据,生成的文件自然无法正常显示。
- 错误的字节转换方式:
format(response.text,'b')不是将内容转为字节的正确方法,这种写法只会生成字符串的二进制表示文本,而非原始二进制数据。
内容的提问来源于stack exchange,提问作者KrokeWaan
相关产品推荐
相关产品推荐

