将文件流转换为Base64的Python方法

3 投票
1 回答
5937 浏览
提问于 2025-04-17 04:53

我用下面的代码读取了一个zip文件的文件流:

file = open(source_url, "rb")  
data = file.read()  
file.close()  
byte_arr = base64.b64encode(data)

现在我想调用一个网络服务,这个服务需要接收base64Binary格式的数据(在Java中是字节数组)。如果我把byte_arr发送给这个网络服务,就会出现客户端错误:
Fault env:Client: 处理请求时捕获到异常:意外的元素类型:期望的是{http://www.w3.org/2001/XMLSchema}base64Binary,但实际得到的是{http://www.w3.org/2001/XMLSchema}string

请告诉我为什么base64模块对我不起作用。
type(byte_arr) 仍然是字符串。
谢谢,
Sandhya

1 个回答

1

我觉得你的base64编码没有问题。看起来它没有正确地嵌入到XML文档中。可能出错的地方是在你发送数据的时候,也许你应该检查一下那部分代码。

撰写回答