2012-11-20 32 views
1

我需要從android應用程序發送圖像到webservice .net soap。從android到webservice .net的圖像SOAP

從機器人方法發送圖像:在.NET web服務

ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bytes);     
byte[] b = bytes.toByteArray(); 
String base64String = Base64.encode(b); 

用於接收:

public void startApp(string bases){ 
    Image convertedImage = Base64ToImage(bases); 
    convertedImage.Save(Server.MapPath("generated_image.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg); 
} 
public static Image Base64ToImage(string base64String) 
{ 
// Convert Base64 String to byte[] 
    byte[] imageBytes = Convert.FromBase64String(base64String); 
    using (var ms = new MemoryStream(imageBytes, 0, 
            imageBytes.Length)) 
    { 
     // Convert byte[] to Image 
     ms.Write(imageBytes, 0, imageBytes.Length); 
     Image image = Image.FromStream(ms, true); 
     return image; 
    } 
} 

錯誤Image.FromStream(MS,TRUE);

參數無效。

+0

你爲什麼試圖將base64string轉換爲圖像?您可以簡單地將字節數組發送到您的Web服務。不要忘記像MarshalBase64這樣註冊你的信封:'new MarshalBase64()。register(envelope));' –

+0

@Karim我試過了,但是當對象序列化時返回錯誤。我再去看看你的解決方案。謝謝! – Pierry

回答

0

我用FTPClient解決了我的問題。