2012-07-20 83 views
1

我无法发布我的好问题文档。 因为,我是新来的,所以我不能在帖子上添加任何图片。它太糟糕了。当从android上传图像文件到wcf时,图像文件坏了

无论如何,我试图解释没有图像。

我发送像android的底部源代码的图像文件。它作为流发送到WCF。它没有问题。

File file = new File(path); 
FileBody bin = new FileBody(file); 
DefaultHttpClient httpClient = new DefaultHttpClient();   
HttpPost postRequest = new HttpPost(this.SERVICE_URI); 
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
reqEntity.addPart("imageData", bin); 
postRequest.setEntity(reqEntity); 
HttpResponse response = httpClient.execute(postRequest); 

当我想在服务器上看到上传的文件时,widows无法打开。 首先,我打开原始文件属性。我可以看到图像的所有属性,如宽度,高度,dpi。

但是,当我打开上传的图像文件属性,我只能看到文件的大小。 然后我想看看notepade上的文件。 原始文件和上传文件之间存在差异。 也就是说

--kpKP7FRpS5aYCWRNH0NHd0tGRj7hs2QYhVai_ 
Content-Disposition: form-data; name="imageData"; filename="ty-uz.jpg" 
Content-Type: application/octet-stream 

然后我看到一个标签上也文件的底部,--kpKP7FRpS5aYCWRNH0NHd0tGRj7hs2QYhVai _--

的Android添加原始图像文件中的标签在发送前,然后我看不到它作为图像。 那么问题是什么?我在Silverlight应用程序上使用相同的WCF,IT运行得非常好。没问题。图像文件上传orginialy。

但我的android应用程序在图像文件中添加标签。问题是什么?

谢谢你现在...

+0

我一直在等你的好解决方案:) – Conqueror 2012-07-21 01:16:27

+0

解决方案就在这里。 http://antscode.blogspot.com/2009/11/parsing-multipart-form-data-in-wcf.html – Conqueror 2012-07-25 15:15:09

回答

2

我也有同样的问题。我已经对文件的客户端大小做出了响应,然后在上传到服务器时看到文件的大小大于客户端中的文件,并且它已被打破。

我觉得数据已经修改正在发送数据到服务器。因此,在客户端应用时将文件上传到wcf服务的方式不正确。你可以参考一个same topic here