方式一: 以文件流的方法上传图片
- (void)file {
NSDictionary *params = @{
@"access_token":@"d5a05f9f-34a0-4c48-a7a2-90a5818ca9a2"
};
NSString *url = [NSString stringWithFormat:@"%@1.0/user/photo",kRequestUrl];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",
@"text/html",
@"image/jpeg",
@"image/png",
@"application/octet-stream",
@"text/json",
nil];
NSURLSessionDataTask *task = [manager POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
// image 需要设置成 nsdata
NSData *imageData = [self.images TIFFRepresentation];
NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:imageData];
[imageRep setSize:[[_imageView image] size]];
NSData *imageDatas = [imageRep representationUsingType:NSPNGFileType properties:nil];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
NSString *fileName = [NSString stringWithFormat:@"%@.jpg", str];
[formData appendPartWithFileData:imageDatas
name:@"photo"
fileName:fileName
mimeType:@"image/png"];
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
NSLog(@"%@", responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@", error);
}];
}