使用AFNetworking的方法
//壓縮圖片
NSData *imageData = UIImageJPEGRepresentation(image,0);
//沙盒,準(zhǔn)備保存的圖片地址和圖片名稱
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
formatter.dateFormat=@"yyyyMMddHHmmss";
NSString *str=[formatter stringFromDate:[NSDate date]];
NSString *fullPath = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpeg",str]];
//將圖片寫入文件中
[imageData writeToFile:fullPath atomically:NO];
//通過路徑獲取到保存的圖片丹鸿,可以在主界面上的image進(jìn)行預(yù)覽
UIImage *saveImage = [[UIImage alloc]initWithContentsOfFile:fullPath];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer.timeoutInterval = 20;
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain", @"multipart/form-data", @"application/json", @"text/html", @"image/jpeg", @"image/png", @"application/octet-stream", @"text/json", nil];
gron_User;
gron_self;
[manager.requestSerializer setValue:gron_Token forHTTPHeaderField:gron_AFNKEY];
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"1" forKey:@"flagFace"];
[dict setObject:@"1" forKey:@"zipFlag"];
[dict setObject:fullPath forKey:@"file"];
NSString *url = @"https://xxx.com";
MBProgressHUD *hub = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
gron_hub;
[manager POST:url parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
/* 該方法參數(shù)
appendPartWithFileData:要上傳的照片二進(jìn)制流
name:對應(yīng)后臺要上傳接口的參數(shù)名
fileName:要保存的文件名
mimeType:要保存到服務(wù)器的文件類型
*/
[formData appendPartWithFileData:imageData name:@"file" fileName:fullPath mimeType:@"image/jpg"];
} progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
[hub hideAnimated:YES];
DSLog(@"上傳成功");
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
[hub hideAnimated:YES];
DSLog(@"上傳失敗");
}];