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?