2012-06-18 29 views
3

我想从发布iPhone/iPad的图像.NET service.Currently我使用ASIFormDataRequest但我得到的错误ASIFormDataRequest:图像后到.NET服务

“请求格式是无效的:多/形式-data; charset = utf-8; boundary = 0xKhTmLbOuNdArY。“

请帮我解决这个错误。 谢谢

+0

试试我的方法,或者如果你得到它与ASI合作,请发表你的答案。 –

回答

0

尝试在ASIFormDataRequest设置数据这样

NSData *imgData = UIImagePNGRepresentation(img); 
[request addData:imgData withFileName:@"FILENAME" andContentType:@"image/jpg" forKey:@"YOUR KEY"]; 

哪里请求您ASIFormDataRequest

编码愉快。

+0

我已经添加了这个代码,但我必须在服务器端配置 –

0
-(void)uploadFile{ 
    NSURL *url = [NSURL URLWithString: photoUploadURLString]; 

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 

    [request setUseKeychainPersistence:YES]; 
    //if you have your site secured by .htaccess 

    NSString *fileName = [NSString stringWithFormat:@"ipodfile%@.jpg",self.fileID];//your image file name 
    [request addPostValue:fileName forKey:@"name"]; 

    // Upload an image 
    NSData *imageData = UIImageJPEGRepresentation([UIImage imageName:fileName]) // your image 
    [request setData:imageData withFileName:fileName andContentType:@"image/jpeg" forKey:@"userfile"]; 

    [request setDelegate:self]; 
    [request setDidFinishSelector:@selector(uploadRequestFinished:)]; 
    [request setDidFailSelector:@selector(uploadRequestFailed:)]; 

    [request startAsynchronous]; 
} 

- (void)uploadRequestFinished:(ASIHTTPRequest *)request{  
NSString *responseString = [request responseString]; 
    NSLog("Upload response %@", responseString); 
} 

- (void)uploadRequestFailed:(ASIHTTPRequest *)request{ 

    NSLog(@" Error - Statistics file upload failed: \"%@\"",[[request error] localizedDescription]); 
} 
+0

我遇到的问题是与Web服务。我不确定应该从应用程序POST中收到什么类型的数据。所有帮助表示赞赏。 –

+0

那么如果你不知道你应该接收的数据类型,我们该如何帮助。 –

0

我也有同样的问题..同样的错误..

但我解决它在一些不同的apporach。

基本上.Net webservice期望图像以binarybyte[]阵列的形式提供。

我没有办法发送UIImage作为byte[]使用ASIFormDataRequest到服务器。

NSURLRequest它以更好的方式,我们需要挖掘比平常更多。

我在与iOS的Sudzc肥皂框架合作中有一个亲身体验经验,这不是开源的,但您可以免费获得。

所有你需要做的是,

  1. 您需要的WSDL链接,你可以得到它像,如果 HTTP://.....xyz.asmx是你的基地URL,那么,http://.....xyz.asmx/wsdl会给你WSDL,你可以在浏览器中检查它。
  2. 访问www.sudzc.com
  3. 粘贴URL,选择Objectivc-C为iOS从下面的URL字段中 下拉列表项目。如果需要,您可以提供前缀或您可以避免。
  4. 点击生成

这将让你一个zip文件,其中有iOS的项目。一旦您打开该项目,请检查Generated目录,您可以看到所需的全部内容。

相关问题