Сжать изображение с помощью UIImageJPEGRepresentation перед отправкой на сервер
Я пытаюсь сжать изображение перед загрузкой на сервер с помощью UIImageJPEGRepresentation.
Пока что я изменил изображение на PNG и изменил качество на 0.01f. Я пробовал несколько разных способов написания этого.
Это оптимально перед отправкой на сервер? Что я должен изменить, чтобы оптимизировать?
- (void)uploadPhoto {
WUTModelImageUploadReq *imageUploadReq = [[WUTModelImageUploadReq alloc]init];
imageUploadReq.photo = [self encodeToBase64String:[UIImage imageWithData:UIImageJPEGRepresentation(self.viewControllerPost.imageForPost, 0.01f)]];
imageUploadReq.extension = @"png";
void (^wsSuccessHandler)(AFHTTPRequestOperation *operation, NSDictionary* responseObject) = ^(AFHTTPRequestOperation *operation, id responseObject){
NSLog(@"Pull Feed responseObject %@",responseObject);
NSError *error;
WUTModelPostImageResponse *wsResponse = [[WUTModelPostImageResponse alloc]initWithDictionary:(NSDictionary *)responseObject error:&error];
if (error) {
errorMessage = @"Failure to upload image.";
[self postExecuteFail];
}
else{
if (wsResponse.success) {
WUTModelImage *imageTemp = [wsResponse.data firstObject];
[postItem setObject:imageTemp.photo forKey:@"photo"];
[self uploadPostFeed];
}else{
errorMessage = @"Failure to upload image.";
[self postExecuteFail];
}
}
};
1 ответ
Предложения:
- Используйте расширение "jpg", а не "png".
- Используйте 0.0 для сжатия Quality, чтобы максимизировать сжатие.
- Рассмотрите возможность изменения размера изображения, если ваша ситуация позволяет.