Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-7074

File Transfer doesn't upload the correct file when transferring multiple file_uri selected from the gallery

    XMLWordPrintableJSON

Details

    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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            dwu Darrell Wu
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: