NSURLSession和内容类型出现问题



我正在尝试将照片上传到Web服务,我使用以下代码:

NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:imageToUpload], 0.5);
// 1
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
config.HTTPMaximumConnectionsPerHost = 1;
[config setHTTPAdditionalHeaders:@{@"Content-Type":@"multipart/form-data"}];
// 2
NSURLSession *upLoadSession = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
// for now just create a random file name, dropbox will handle it if we overwrite a file and create a new name..
NSString *urlString =[NSString stringWithFormat:@"https://ABC.co.uk/photos?api_key=MYAPIKEY" ];
NSURL *webUrl = [NSURL URLWithString:urlString];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:webUrl];
[request setHTTPMethod:@"POST"];
// 3
NSURLSessionUploadTask *uploadTask = [upLoadSession uploadTaskWithRequest:request fromData:imageData];
// 4
//    uploadView.hidden = NO;
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
// 5
[uploadTask resume];

我收到一个错误500,我不知道该怎么办。

我尝试过实现AFNetworking,身体数据附加像This、This和This。然而,没有运气。

上面的代码来自Ray Wenderlich的网站:这里。

我所需要提供的服务器是:

  1. 文件(图像)
  2. API密钥(我尝试使用NSMutableURLRequest的addValue:forHTTPHeaderField:但它不起作用,所以我在URL中使用它。我知道这在安全方面不是最好的做法,但我已经为此工作了10多个小时,我变得非常绝望!一步一个脚印!)
  3. Content-Typemultipart/form-data

这就是我所需要提供的,但我没有任何进展!

有人能帮忙吗?

提前感谢

更新1:所以我对URL结构做了一些修改,并在HTTPBody中添加了API键作为字典,现在我得到了错误403。

这似乎真的很奇怪,苹果公司没有做出任何努力来串行化这部分连接。无论如何我真的很感谢任何帮助我的人!

也尝试在请求中设置Content-Type

[request addValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];

相关内容

  • 没有找到相关文章

最新更新