@@ -48,38 +48,29 @@ + (NSString *)saveImageWithOriginalImageData:(NSData *)originalImageData
4848 originalFileName : (NSString *)originalFileName {
4949 NSString *suffix = kFLTImagePickerDefaultSuffix ;
5050 FLTImagePickerMIMEType type = kFLTImagePickerMIMETypeDefault ;
51- NSMutableDictionary *metaData = [ NSMutableDictionary dictionary ] ;
51+ NSDictionary *metaData;
5252
5353 // Getting the image type from the original image data if necessary.
5454 if (originalImageData) {
5555 type = [FLTImagePickerMetaDataUtil getImageMIMETypeFromImageData: originalImageData];
5656 suffix =
5757 [FLTImagePickerMetaDataUtil imageTypeSuffixFromType: type] ?: kFLTImagePickerDefaultSuffix ;
58- NSDictionary *imageMetaData = [FLTImagePickerMetaDataUtil getMetaDataFromImageData: originalImageData];
59- if (imageMetaData) {
60- [metaData addEntriesFromDictionary: imageMetaData];
61- }
58+ metaData = [FLTImagePickerMetaDataUtil getMetaDataFromImageData: originalImageData];
6259 }
6360
6461 if (type == FLTImagePickerMIMETypeGIF) {
6562 GIFInfo *gifInfo = [FLTImagePickerImageUtil scaledGIFImage: originalImageData
6663 maxWidth: maxWidth
6764 maxHeight: maxHeight];
6865
69- return [self saveImageWithMetaData: metaData gifInfo: gifInfo suffix: suffix];
66+ return [self saveImageWithMetaData: metaData
67+ gifInfo: gifInfo
68+ prefix: originalFileName
69+ suffix: suffix];
7070 } else {
71- if (originalFileName) {
72- NSMutableDictionary *tiff = [metaData[@" {TIFF}" ] mutableCopy ];
73- if (!tiff) {
74- tiff = [NSMutableDictionary dictionary ];
75- }
76-
77- tiff[@" ImageDescription" ] = originalFileName;
78- metaData[@" {TIFF}" ] = tiff;
79- }
80-
8171 return [self saveImageWithMetaData: metaData
8272 image: image
73+ prefix: originalFileName
8374 suffix: suffix
8475 type: type
8576 imageQuality: imageQuality];
@@ -92,20 +83,23 @@ + (NSString *)saveImageWithPickerInfo:(nullable NSDictionary *)info
9283 NSDictionary *metaData = info[UIImagePickerControllerMediaMetadata];
9384 return [self saveImageWithMetaData: metaData
9485 image: image
86+ prefix: nil
9587 suffix: kFLTImagePickerDefaultSuffix
9688 type: kFLTImagePickerMIMETypeDefault
9789 imageQuality: imageQuality];
9890}
9991
10092+ (NSString *)saveImageWithMetaData : (NSDictionary *)metaData
10193 gifInfo : (GIFInfo *)gifInfo
94+ prefix : (NSString *)prefix
10295 suffix : (NSString *)suffix {
103- NSString *path = [self temporaryFilePath: suffix];
96+ NSString *path = [self temporaryFilePath: prefix suffix: suffix];
10497 return [self saveImageWithMetaData: metaData gifInfo: gifInfo path: path];
10598}
10699
107100+ (NSString *)saveImageWithMetaData : (NSDictionary *)metaData
108101 image : (UIImage *)image
102+ prefix : (NSString *)prefix
109103 suffix : (NSString *)suffix
110104 type : (FLTImagePickerMIMEType)type
111105 imageQuality : (NSNumber *)imageQuality {
@@ -120,7 +114,7 @@ + (NSString *)saveImageWithMetaData:(NSDictionary *)metaData
120114 }
121115 }
122116
123- return [self createFile: data suffix: suffix];
117+ return [self createFile: data prefix: prefix suffix: suffix];
124118}
125119
126120+ (NSString *)saveImageWithMetaData : (NSDictionary *)metaData
@@ -157,17 +151,24 @@ + (NSString *)saveImageWithMetaData:(NSDictionary *)metaData
157151 return path;
158152}
159153
160- + (NSString *)temporaryFilePath : (NSString *)suffix {
154+ + (NSString *)temporaryFilePath : (NSString *) prefix suffix : (NSString *)suffix {
155+ if (!prefix) {
156+ prefix = @" " ;
157+ }
158+
161159 NSString *fileExtension = [@" image_picker_%@ " stringByAppendingString: suffix];
160+ if (prefix) {
161+ fileExtension = [NSString stringWithFormat: @" %@ _%@ " , prefix, fileExtension];
162+ }
162163 NSString *guid = [[NSProcessInfo processInfo ] globallyUniqueString ];
163- NSString *tmpFile = [NSString stringWithFormat: fileExtension, guid];
164+ NSString *tmpFile = [NSString stringWithFormat: fileExtension, prefix, guid];
164165 NSString *tmpDirectory = NSTemporaryDirectory ();
165166 NSString *tmpPath = [tmpDirectory stringByAppendingPathComponent: tmpFile];
166167 return tmpPath;
167168}
168169
169- + (NSString *)createFile : (NSData *)data suffix : (NSString *)suffix {
170- NSString *tmpPath = [self temporaryFilePath: suffix];
170+ + (NSString *)createFile : (NSData *)data prefix : ( NSString *) prefix suffix : (NSString *)suffix {
171+ NSString *tmpPath = [self temporaryFilePath: prefix suffix: suffix];
171172 if ([[NSFileManager defaultManager ] createFileAtPath: tmpPath contents: data attributes: nil ]) {
172173 return tmpPath;
173174 } else {
0 commit comments