Skip to content

Commit c259e6c

Browse files
committed
flutter#1 - Fixing GIF being exported as JPG issue
1 parent 105c2bc commit c259e6c

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

packages/image_picker/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/FileUtils.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,12 @@ private static String getImageExtension(Uri uriImage) {
7171
String extension = null;
7272

7373
try {
74-
String imagePath = uriImage.getPath();
74+
final String imagePath = uriImage.getPath();
7575
if (imagePath != null && imagePath.lastIndexOf(".") != -1) {
7676
extension = imagePath.substring(imagePath.lastIndexOf(".") + 1);
77+
} else if (imagePath != null && imagePath.lastIndexOf(".") == -1) {
78+
final MimeTypeMap mime = MimeTypeMap.getSingleton();
79+
extension = mime.getExtensionFromMimeType(context.getContentResolver().getType(uri));
7780
}
7881
} catch (Exception e) {
7982
extension = null;

packages/image_picker/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import android.net.Uri;
1515
import android.os.Build;
1616
import android.provider.MediaStore;
17+
import android.webkit.MimeTypeMap;
1718
import androidx.annotation.VisibleForTesting;
1819
import androidx.core.app.ActivityCompat;
1920
import androidx.core.content.FileProvider;
@@ -548,6 +549,11 @@ public void onPathReady(String path) {
548549

549550
private void handleImageResult(String path, boolean shouldDeleteOriginalIfScaled) {
550551
if (methodCall != null) {
552+
if (path.toLowerCase().endsWith(".gif")) {
553+
finishWithSuccess(path);
554+
return;
555+
}
556+
551557
Double maxWidth = methodCall.argument("maxWidth");
552558
Double maxHeight = methodCall.argument("maxHeight");
553559
Integer imageQuality = methodCall.argument("imageQuality");

0 commit comments

Comments
 (0)