// 请求参数
NSMutableDictionary *baseParameters = [self baseParametes];
[baseParameters setObject:apikey forKey:@"apikey"];
[baseParameters setObject:secret forKey:@"secret"];
[baseParameters setObject:sn forKey:@"sn"];
[baseParameters setObject:filename forKey:@"filename"];
[baseParameters setObject:objectname forKey:@"objectname"];
[baseParameters setObject:clienttype forKey:@"clienttype"];
[baseParameters setObject:@(filetype) forKey:@"filetype"];
[baseParameters setObject:@(filesize) forKey:@"filesize"];
[baseParameters setObject:time forKey:@"time"];
// 网络加载标志
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
// AF
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
// multipart/form-data
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", @"text/xml", @"text/plain", nil];
[manager POST:[NSString stringWithFormat:@"%@%@",URL_OssFile,url]
parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
NSData *data = [NSJSONSerialization dataWithJSONObject:baseParameters options:NSJSONWritingPrettyPrinted error:nil];
//[formData appendPartWithHeaders:@{@"Content-Type":@"multipart/form-data"} body:data];
[formData appendPartWithFormData:data name:@"log"];
}
progress:nil
success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
callback(responseObject,nil);
}
failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
saveLogFailed(K__ERROR);
}];
网友评论