Skip to content

Commit 488ecab

Browse files
committed
fix: returnableOutputType base64 for compressionMethod: 'auto' in android
1 parent e12330f commit 488ecab

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

android/src/main/java/com/reactnativecompressor/Image/ImageCompressor.java

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public static Bitmap loadImage(String value) {
6666

6767

6868

69-
public static String encodeImage(ByteArrayOutputStream imageDataByteArrayOutputStream, Boolean isBase64, Bitmap bitmapImage,String outputExtension, ReactApplicationContext reactContext) {
69+
public static String encodeImage(ByteArrayOutputStream imageDataByteArrayOutputStream, Boolean isBase64,String outputExtension, ReactApplicationContext reactContext) {
7070
if(isBase64)
7171
{
7272
byte[] imageData=imageDataByteArrayOutputStream.toByteArray();
@@ -124,16 +124,16 @@ public static String manualCompressImage(String imagePath,ImageCompressorOptions
124124
final ByteArrayOutputStream imageDataByteArrayOutputStream = ImageCompressor.compress(resizedImage, options.output, options.quality);
125125
Boolean isBase64=options.returnableOutputType==ImageCompressorOptions.ReturnableOutputType.base64;
126126

127-
String returnableResult = ImageCompressor.encodeImage(imageDataByteArrayOutputStream,isBase64,image,options.output.toString(),reactContext);
127+
String returnableResult = ImageCompressor.encodeImage(imageDataByteArrayOutputStream,isBase64,options.output.toString(),reactContext);
128128
return returnableResult;
129129
}
130130

131131

132132
public static String autoCompressImage(String imagePath,ImageCompressorOptions compressorOptions, ReactApplicationContext reactContext) {
133133
String outputExtension=compressorOptions.output.toString();
134-
int quality= (int) (compressorOptions.quality*100);
135134
float autoCompressMaxHeight = compressorOptions.maxHeight;
136135
float autoCompressMaxWidth = compressorOptions.maxWidth;
136+
Boolean isBase64=compressorOptions.returnableOutputType==ImageCompressorOptions.ReturnableOutputType.base64;
137137

138138
Uri uri= Uri.parse(imagePath);
139139
imagePath = uri.getPath();
@@ -217,18 +217,10 @@ public static String autoCompressImage(String imagePath,ImageCompressorOptions c
217217
} catch (IOException e) {
218218
e.printStackTrace();
219219
}
220-
FileOutputStream out = null;
221-
String filepath = generateCacheFilePath(outputExtension,reactContext);;
222-
try {
223-
out = new FileOutputStream(filepath);
224-
225-
//write the compressed bitmap at the destination specified by filename.
226-
scaledBitmap.compress(Bitmap.CompressFormat.JPEG, quality, out);
227220

228-
} catch (FileNotFoundException e) {
229-
e.printStackTrace();
230-
}
231-
return getRNFileUrl(filepath);
221+
final ByteArrayOutputStream imageDataByteArrayOutputStream = ImageCompressor.compress(scaledBitmap, compressorOptions.output, compressorOptions.quality);
222+
String returnableResult = ImageCompressor.encodeImage(imageDataByteArrayOutputStream,isBase64,compressorOptions.output.toString(),reactContext);
223+
return returnableResult;
232224
}
233225

234226
public static int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight) {

0 commit comments

Comments
 (0)