我正在尝试将照片上传到网络服务,并且我正在使用以下代码:
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 的网站:Here。
我需要提供的服务器是这样的:
- 文件(图片)
- API 密钥(我尝试使用 NSMutableURLRequest's
addValue:forHTTPHeaderField
: 但它不起作用,所以我在 URL 中使用它。我知道这不是安全方面的最佳做法,但我越来越绝望了工作了 10 多个小时!一步一步!) Content-Type
成为_multipart/form-data
这就是我需要提供的全部内容,但我却一无所获!
有人可以帮忙吗?
先感谢您
更新 1:所以我对 URL 结构进行了一些更改,并将 API 密钥作为字典添加到 HTTPBody 中,现在我收到错误 403。
苹果没有做出任何努力来序列化这部分连接,这似乎真的很奇怪。反正。我真的很感谢任何人的帮助!