你好,我根据后台返回的oss_access_key_id,url,policy,signature,做post请求,但是请求出错,实在不知道问题出在哪里
下面是代码片段:
(void)postOSSImageKeybucketName:(NSString )oss_access_key_id url:(NSString )url policy:(NSString )policy Signature:(NSString )signature{
if (_currentImg == nil || !_currentImg) {
return;
}
//2. 图片名字
NSString *fileName = [ShareMethod ret20bitString];
fileName = [fileName stringByAppendingString:@".jpg"];
//3. 图片二进制文件
NSData *imagedata = UIImageJPEGRepresentation(_currentImg, 0.00001);
//4. 发起网络请求
MySessionManager *manager = [MySessionManager manager];
NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
[dic setValue:fileName forKey:@"key"];
[dic setValue:oss_access_key_id forKey:@"OSSAccessKeyId"];
[dic setValue:policy forKey:@"policy"];
[dic setValue:signature forKey:@"Signature"];
[dic setValue:imagedata forKey:@"file"];
// [dic setValue:fileName forKey:@"MyFilename.jpg"];
// [dic setValue:@"200" forKey:@"success_action_status"];
[manager POST:url parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:imagedata name:fileName fileName:fileName mimeType:@"image/jpeg"];
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
NSLog(@"%@",responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
NSLog(@"++++%ld",(long)response.statusCode);
}];
}
// 应该是第三步 图片转成二进制文件出现问题 改为下边的写法 判断image是否是png格式的
if (UIImagePNGRepresentation(image) == nil) {
imageData = UIImageJPEGRepresentation(image, 1);
} else {
imageData = UIImagePNGRepresentation(image);
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。