部分代码:
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:@"图片上传有误!"];}
];