flutter_uploader
flutter_uploader copied to clipboard
Android mime type not detected if file path contains whitespace
For example: after compressing with video_compress (https://pub.dev/packages/video_compress) plugin, path could be: '/storage/emulated/0/Android/data/com.example/files/video_compress/VID_2021-10-25 02-21-21.mp4' which would be detected as mime type 'application/octet-stream' instead of 'video/mp4'
Debated on whether this is an issue with video_compress creating paths with whitespace, or flutter_uploader not accepting paths with whitespace. Decided this is a flutter_uploader issue. iOS works fine with whitespace
Any updates on this? After the investigation, it seems that the method that causes the issue is private String GetMimeType(String url)
in UploadWorker.java
, specifically - String extension = MimeTypeMap.getFileExtensionFromUrl(url);
. I assume this part returns null or empty string.
It may be better to use something from okhttp like MimeUtils, the MimeTypeMap is not as exhaustive.
@cfsbhawkins Could you prepare a PR?