Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
3.5.0
-
None
Description
I have a situation where our app allows the user to select multiple photos from the gallery one at a time through the navigator.camera.getPicture api.
The file URI return by the api is something like file:///mnt/sdcard/Android/data/appname/cache/modified.jpg?1404428300297
I store these file URI in an array. So i have an array of these file e.g.
file:///mnt/sdcard/Android/data/appname/cache/modified.jpg?1404428300297
file:///mnt/sdcard/Android/data/appname/cache/modified.jpg?1404428300345
file:///mnt/sdcard/Android/data/appname/cache/modified.jpg?1404428300684
I then proceed to transfer these file to the server one at a time using the file transfer plugin and i alway get 3 copies of the same file sent to the server.
It is because the FileTransfer plugin removes the query string from the uri when it read the file.
The code line that's doing this is in CordovaResourceApi line 245
FileInputStream inputStream = new FileInputStream(uri.getPath());
It's reading the file without the query string file:///mnt/sdcard/Android/data/appname/cache/modified.jpg
In iOS i don't have this issue.