我無法通過HTTPS POST請求將圖像上傳到Cloudinary託管,我想使用簡單的API方法而不是SDK。我在將圖像格式化爲字節數組緩衝區或Base64編碼時遇到問題。將圖像上傳到Cloudinary IOS
這裏是我的代碼:
UIImage *image = [UIImage imageNamed:@"image.png"];
NSData *imageData = UIImagePNGRepresentation(image);
NSString *strImageData = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
NSURL *url = [NSURL URLWithString:@"https://api.cloudinary.com/v1_1/MYSECTER/image/upload"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"POST";
NSString *strRequest = [NSString stringWithFormat:@"file=%@&upload_preset=MYSECTER", strImageData];
request.HTTPBody = [strRequest dataUsingEncoding:NSUTF8StringEncoding];
[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSDictionary *recievedData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
NSLog(@"RECEIVED: %@", recievedData);
}] resume];
不幸的是我收到以下來自服務器的回答:「不支持源URL ......」
我真的嘗試了很多其他的方法,但我可以」讓它工作。
更新:當我把URL鏈接放在'文件'參數一切正常。
嗨,感謝您的時間,但它不工作。 我收到錯誤信息:「缺少必需的參數 - 文件」; –