从iPhone上传的图像已损坏

从iPhone上传的图像已损坏,iphone,wcf,Iphone,Wcf,我正试图从我的iPhone应用程序中拍摄一张照片并上传到WCF REST服务 我将使用UIImagePickerController访问相机,并将新照片分配给我视图上的UIImageView 然后我使用UIImageJPEG表示将其转换为“真实”数据 然后我尝试向我的服务提交如下请求: ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; [request setFile:imageData with

我正试图从我的iPhone应用程序中拍摄一张照片并上传到WCF REST服务

我将使用UIImagePickerController访问相机,并将新照片分配给我视图上的UIImageView

然后我使用UIImageJPEG表示将其转换为“真实”数据

然后我尝试向我的服务提交如下请求:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setFile:imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"imageData"];

[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[request startAsynchronous];
服务接收数据并将其写入Web服务器上的磁盘。但我无法在服务器上打开映像,因为Windows告诉我该文件已损坏。我猜我需要在我的iPhone应用程序中设置某种编码或内容类型。上传完成后,我确实从我的服务中收到HTTP状态代码200

我制作了一个小型C#客户端应用程序来测试这项服务,当我使用这个客户端从Windows机器上传照片时,一切都很好。所以我想这一定是我在iPhone的y请求中遗漏的东西


感谢您的阅读和提供的任何帮助。

在尝试了大量方法后,我终于通过以下方法实现了:

[request appendPostData:imageData];
而不是:

[request setFile:imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"imageData"];

您可以发布WCF的接口声明吗?我正在尝试类似的方法,但遇到了麻烦。我也很想知道您是如何在服务器端解决这个问题的。我可以通过iphone发送邮件,但我的webserivce上的流总是空的。
[request setFile:imageData withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"imageData"];