ASIFormDataRequest:图像发布到.net服务

时间:2012-06-18 08:42:42

标签: iphone asp.net

我想将图片从iphone / ipad发布到.net服务。目前我正在使用ASIFormDataRequest但我收到错误

  

“请求格式无效:multipart / form-data; charset = utf-8;   边界= 0xKhTmLbOuNdArY“。

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

3 个答案:

答案 0 :(得分:0)

尝试在此ASIFormDataRequest中设置数据

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

请求是ASIFormDataRequest

快乐的编码。

答案 1 :(得分: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]); 
 }

答案 2 :(得分:0)

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

但我在一些不同的用途中解决了这个问题。

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

我无法使用UIImagebyte[]发送ASIFormDataRequest到服务器。

NSURLRequest以更好的方式做到了,我们需要比平常更多地挖掘。

我在使用适用于iOS的Sudzc soap框架方面有过一段时间的经验,这不是开源的,但你可以免费获得它。

您需要做的就是,

  1. 你需要WSDL链接,你可以得到它,如果 http://.....xyz.asmx 是您的基本网址,然后是 http://.....xyz。 asmx / wsdl 会为您提供WSDL,您可以在浏览器中查看。
  2. 访问www.sudzc.com
  3. 粘贴网址,从中选择 Objectivc-C for iOS 项目 URL字段下方的下拉列表。如果需要,你可以给出前缀,或者你可以避免这种情况。
  4. 点击生成
  5. 这将为您提供一个包含iOS项目的zip文件。打开项目后,检查Generated目录,您可以看到所需的一切。