如何用Soap将图像字节传递给.Net byte []?

时间:2017-08-04 09:15:27

标签: c# .net python-3.x

我解决了这个问题。 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代码可能错了?

0 个答案:

没有答案