我想從wcf ksoap2發送圖像到android。在wcf端,我已經將所有圖像轉換爲字節數組並將它們存儲在ArrayList中。在android側,我試圖填充ArrayList<Byte> arrays;
但它沒有填充,它仍然是空的。 這裏是我的代碼從wcf ksoap2接收字節[]的麻煩到android
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 =新的String的目的[response.getPropertyCount ()];' – RonK
您是否嘗試過調試以查看'(Byte)response.getProperty(i)'的值? – RonK
ar是String [] ar ;.我之前使用過它,但這並沒有幫助 – yakhtarali