部分代码:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:[info objectForKey:UIImagePickerControllerReferenceURL]
resultBlock:^(ALAsset *asset) {
@strongify(filePath)
@strongify(imagePath)
@strongify(photoName)
ALAssetRepresentation *representation = [asset defaultRepresentation];
NSLog(@"size of asset in bytes: %lld", [representation size]);
Byte *buffer = (Byte*)malloc(representation.size);
NSUInteger buffered = [representation getBytes:buffer fromOffset:0.0 length:representation.size error:nil];
NSData *imgData = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];
NSLog(@"imagePath === %@", imagePath);
NSLog(@"photoName === %@", photoName);
if ([[self typeForImageData:imgData] isEqualToString:@"image/gif"]) {
NSLog(@"GIF image");
filePath = [imagePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.gif", photoName]];
NSLog(@"filePath 3 === %@", filePath);
[imgData writeToFile:filePath atomically:YES];
NSLog(@"Check === %d", [imgData writeToFile:filePath atomically:YES]);
} else {
NSLog(@"not GIF image");
filePath = [imagePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg", photoName]];
NSLog(@"filePath 4 === %@", filePath);
CGRect rect = CGRectMake(0, 0, 750, 750 / image.size.width *image.size.height);
UIGraphicsBeginImageContext( rect.size );
[image drawInRect:rect];
UIImage *picture = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[UIImageJPEGRepresentation(picture, 1) writeToFile:filePath atomically:YES];
}
NSLog(@"photoName 1 === %@", photoName);
[self.wkWebView evaluateJavaScript:[NSString stringWithFormat:@"%@(%@)", [ConfigHelper getStringValueForKey:@"uploadImageIdMethod"], photoName] completionHandler:nil];
}
failureBlock:^(NSError *error) {
NSLog(@"couldn't get asset: %@", error);
[self showHud:@"图片上传有误!"];
}
];