【发布时间】:2014-01-14 14:07:25
【问题描述】:
我正在尝试将图像从 wcf ksoap2 发送到 android。在 wcf 方面,我已将所有图像转换为字节数组并将它们存储在 ArrayList 中。在 android 端,我尝试填充 ArrayList<Byte> arrays; 但它没有填充,它仍然是空的。
这是我的代码
wcf:
List<byte[]> list;
public List<byte[]> loadImages()
{
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\User\Desktop\abc");
arr1 = new ArrayList();
foreach (FileInfo fi in directoryInfo.GetFiles())
arr1.Add(fi.FullName);
list = new List<byte[]>();
for (int i = 0; i < arr1.Count; i++)
{
img = Image.FromFile(arr1[i].ToString());
ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
list.Add(ms.ToArray());
// objbyte = (byte[])ms.ToArray();
}
return list;
}
机器人:
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope soapEnvelop;
soapEnvelop = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelop.dotNet = true;
soapEnvelop.setOutputSoapObject(Request);
HttpTransportSE htps = new HttpTransportSE(URL);
htps.call(SOAP_ACTION, soapEnvelop);
response = (SoapObject) soapEnvelop.getResponse();
ar = new String[response.getPropertyCount()];
arrays = new ArrayList<Byte>();
if (response != null) {
if (response.getPropertyCount() > 0) {
for (int i = 0; i < response.getPropertyCount(); i++) {
arrays.add( (Byte) response.getProperty(i));
}
}
}
for 循环正常执行,但 arrays 仍为空
我想一次发送 10-15 张图片。 提前致谢
【问题讨论】:
-
ar = new String[response.getPropertyCount()];的目的是什么 -
您是否尝试过调试以查看
(Byte) response.getProperty(i)的值? -
ar 是 String[] ar;。我以前用过,但没有帮助