diff --git a/android/src/main/java/com/rnfs/Uploader.java b/android/src/main/java/com/rnfs/Uploader.java index 5b2e5941..a037346b 100644 --- a/android/src/main/java/com/rnfs/Uploader.java +++ b/android/src/main/java/com/rnfs/Uploader.java @@ -175,7 +175,14 @@ private void upload(UploadParams params, UploadResult result) throws Exception { request.flush(); request.close(); - responseStream = new BufferedInputStream(connection.getInputStream()); + // responseStream = new BufferedInputStream(connection.getInputStream()); + statusCode = connection.getResponseCode(); + + if (statusCode >= 400) { + responseStream = new BufferedInputStream(connection.getErrorStream()); + } else { + responseStream = new BufferedInputStream(connection.getInputStream()); + } responseStreamReader = new BufferedReader(new InputStreamReader(responseStream)); WritableMap responseHeaders = Arguments.createMap(); Map> map = connection.getHeaderFields(); @@ -191,7 +198,7 @@ private void upload(UploadParams params, UploadResult result) throws Exception { } String response = stringBuilder.toString(); - statusCode = connection.getResponseCode(); + // statusCode = connection.getResponseCode(); res.headers = responseHeaders; res.body = response; res.statusCode = statusCode;