Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.0
-
None
-
Android SDK: 2.3.3
Description
I'm getting a BufferedInputStream error when trying to upload an image with Android.
Sample Code
var options = new FileUploadOptions(); options.fileKey = "image"; options.chunkedMode = false; var ft = new FileTransfer(); ft.upload(imageURI, "https://192.168.1.128:5000/", function(resp) { console.log(JSON.stringify(resp)); , function(e) { console.log(JSON.stringify(e)); }, options);
JS Result
{"target":"http://192.168.1.128:5000/","source":"file:///mnt/sdcard/Android/data/app/cache/1346773635225.jpg","http_status":200,"code":3}
Exception
java.io.IOException: BufferedInputStream is closed at java.io.BufferedInputStream.streamClosed(BufferedInputStream.java:116) at java.io.BufferedInputStream.read(BufferedInputStream.java:274) at org.apache.harmony.luni.internal.net.www.protocol.http.UnknownLengthHttpInputStream.read(UnknownLengthHttpInputStream.java:40) at org.apache.harmony.luni.internal.net.www.protocol.http.AbstractHttpInputStream.read(AbstractHttpInputStream.java:56) at java.io.DataInputStream.readLine(DataInputStream.java:310) at org.apache.cordova.FileTransfer.upload(FileTransfer.java:286) at org.apache.cordova.FileTransfer.execute(FileTransfer.java:85) at org.apache.cordova.api.PluginManager$1.run(PluginManager.java:192) at java.lang.Thread.run(Thread.java:1019)
After some Googling it appears to be an issue in Android 2.3.x (I was testing on 2.3.3). I can confirm that it's not a problem in Android 4.1 (at least in the simulator).
Related links: