瀏覽代碼

1.上传缩略图显示逻辑优化

huangxiaodong 1 年之前
父節點
當前提交
62330abb8a

+ 38 - 1
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileView/uploadFileRecordCell.m

@@ -234,7 +234,25 @@
             }
             else
             {
-                _fileImageView.image = [UIImage imageNamed:@"uploadFile_image"];
+                
+                if(!curUploadFileDataModel.asset){
+                    NSString *curLocalIdentifier = curUploadFileDataModel.localIdentifier;
+                    PHFetchResult *fetchResult = [PHAsset fetchAssetsWithLocalIdentifiers:@[curLocalIdentifier] options:nil];
+                    PHAsset *asset = fetchResult.firstObject;
+                    curUploadFileDataModel.asset = asset;
+                }
+                
+                [[PHImageManager defaultManager] requestImageDataForAsset:curUploadFileDataModel.asset options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
+                        // 直接得到最终的 NSData 数据
+                        if (imageData) {
+                            curUploadFileDataModel.imageData = imageData;
+                            self->_fileImageView.image = [UIImage imageWithData:imageData];
+                            [cachesFileManager getFileNameWithContent:imageData fileName:curUploadFileDataModel.videoFirstImageName type:uploadFileTypeImage];
+                        }
+                        else{
+                            self->_fileImageView.image = [UIImage imageNamed:@"uploadFile_image"];
+                        }
+                }];
             }
         }
         else{
@@ -247,6 +265,25 @@
             else
             {
                 _fileImageView.image = [UIImage imageNamed:@"uploadFile_Video"];
+                
+                if(!curUploadFileDataModel.asset){
+                    NSString *curLocalIdentifier = curUploadFileDataModel.localIdentifier;
+                    PHFetchResult *fetchResult = [PHAsset fetchAssetsWithLocalIdentifiers:@[curLocalIdentifier] options:nil];
+                    PHAsset *asset = fetchResult.firstObject;
+                    curUploadFileDataModel.asset = asset;
+                }
+                
+                [[PHImageManager defaultManager] requestImageDataForAsset:curUploadFileDataModel.asset options:nil resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info) {
+                        // 直接得到最终的 NSData 数据
+                        if (imageData) {
+                            curUploadFileDataModel.imageData = imageData;
+                            self->_fileImageView.image = [UIImage imageWithData:imageData];
+                            [cachesFileManager getFileNameWithContent:imageData fileName:curUploadFileDataModel.videoFirstImageName type:uploadFileTypeImage];;
+                        }
+                        else{
+                            self->_fileImageView.image = [UIImage imageNamed:@"uploadFile_image"];
+                        }
+                }];
             }
         }
     }