我想从发布iPhone/iPad的图像.NET service.Currently我使用ASIFormDataRequest但我得到的错误ASIFormDataRequest:图像后到.NET服务
“请求格式是无效的:多/形式-data; charset = utf-8; boundary = 0xKhTmLbOuNdArY。“
请帮我解决这个错误。 谢谢
我想从发布iPhone/iPad的图像.NET service.Currently我使用ASIFormDataRequest但我得到的错误ASIFormDataRequest:图像后到.NET服务
“请求格式是无效的:多/形式-data; charset = utf-8; boundary = 0xKhTmLbOuNdArY。“
请帮我解决这个错误。 谢谢
尝试在ASIFormDataRequest
设置数据这样
NSData *imgData = UIImagePNGRepresentation(img);
[request addData:imgData withFileName:@"FILENAME" andContentType:@"image/jpg" forKey:@"YOUR KEY"];
哪里请求您ASIFormDataRequest
编码愉快。
我已经添加了这个代码,但我必须在服务器端配置 –
-(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]);
}
我遇到的问题是与Web服务。我不确定应该从应用程序POST中收到什么类型的数据。所有帮助表示赞赏。 –
那么如果你不知道你应该接收的数据类型,我们该如何帮助。 –
我也有同样的问题..同样的错误..
但我解决它在一些不同的apporach。
基本上.Net webservice期望图像以binary
或byte[]
阵列的形式提供。
我没有办法发送UIImage
作为byte[]
使用ASIFormDataRequest
到服务器。
但NSURLRequest
它以更好的方式,我们需要挖掘比平常更多。
我在与iOS的Sudzc
肥皂框架合作中有一个亲身体验经验,这不是开源的,但您可以免费获得。
所有你需要做的是,
这将让你一个zip文件,其中有iOS的项目。一旦您打开该项目,请检查Generated
目录,您可以看到所需的全部内容。
试试我的方法,或者如果你得到它与ASI合作,请发表你的答案。 –