我解决了这个问题。 base64.b64encode(response.content).decode( 'UTF-8')
问题只是解码。
=================================
我想从Python获得.Net SOAP API。
<。> .net API参数具有 byte [] 类型。所以我想将python图像字节传递给.net bytes []。
以下代码之间的不同条件是 Python从url获取图像字节,而.Net从本地文件中获取它。
这是我的python代码。
import requests
import suds
...
...
url =https://upload.wikimedia.org/wikipedia/commons/8/8c/JPEG_example_JPG_RIP_025.jpg
response = requests.get(url)
img = response.content
attachments = self.client.factory.create('ns0:ArrayOfAttachment')
attachment = self.client.factory.create('ns0:Attachment')
attachment.Data = img
attachments.Attachment.append(attachment)
params['Attachments'] = attachments
self.client.service.Send(params)
.net的例子是
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
byte[] img = new byte[fs.Length];
fs.Read(img, 0, System.Convert.ToInt32(fs.Length));
fs.close();
Message msg = new Message();
msg.Attachments = new Attachment[]
{
new Attachment { Data=img }
}
Send(msg);
由于错误的base64序列偏移0,它引发了反序列化错误等错误。
(抱歉,但错误信息不是英文,所以我不能让你知道)
如果没有'bytes []'类型参数发送,它的效果很好。
如何在python中将正确的图像字节设为.net byte []?
或者.net API代码可能错了?