Неожиданный конец потока при загрузке

Я пытаюсь отправить фотографии на android в потоковом режиме, и это мой код

 FileInputStream fileInputStream = new FileInputStream(sourceFile);
            URL url = new URL(upLoadServerUri);

            // Open a HTTP  connection to  the URL
            conn = (HttpURLConnection) url.openConnection();
            conn.setDoInput(true); // Allow Inputs
            conn.setDoOutput(true); // Allow Outputs
            conn.setUseCaches(false); // Don't use a Cached Copy
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Authorization", "Bearer " + Config.token);
            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setRequestProperty("ENCTYPE", "multipart/form-data");
            conn.setRequestProperty("Content-Type", "multipart/form-data;boundary = " + boundary);
            conn.setRequestProperty("file", fileName);
            dos = new DataOutputStream(conn.getOutputStream());

            dos.writeBytes(twoHyphens + boundary + lineEnd);
            dos.writeBytes("Content-Disposition: form-data; name=\"file\";filename=\""
                    + fileName + "\"" + lineEnd);

            dos.writeBytes(lineEnd);

            // create a buffer of  maximum size
            bytesAvailable = fileInputStream.available();

            bufferSize = Math.min(bytesAvailable, maxBufferSize);
            buffer = new byte[bufferSize];

            // read file and write it into form...
            bytesRead = fileInputStream.read(buffer, 0, bufferSize);

            while (bytesRead > 0) {

                dos.write(buffer, 0, bufferSize);
                bytesAvailable = fileInputStream.available();
                bufferSize = Math.min(bytesAvailable, maxBufferSize);
                bytesRead = fileInputStream.read(buffer, 0, bufferSize);

            }

            // send multipart form data necesssary after file data...
            dos.writeBytes(lineEnd);
            dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);

но когда я хочу получить код ответа от соединения, выдает исключение IOException, а в ответном сообщении указано, что полезная нагрузка слишком велика он отлично работает, когда я выбираю фотографию с камеры, но когда я хочу выбрать из галереи, появляется это исключение

Вероятно, изображение по указанному пути не существует.

Yupi 14.07.2018 11:01

@Yupi Я это проверил! sourceFile существует

amirhesni 14.07.2018 11:03

Покажите, пожалуйста, трассировку стека. И скажите, какое у вас исключение.

greenapps 14.07.2018 11:11
but when i want to get response code from connection Нет кода, где вы пытаетесь это сделать.
greenapps 14.07.2018 11:13

Вы не можете использовать FileInputStream при выборе изображения из галереи, так как тогда вы получите не путь к файлу, а URI содержимого.

greenapps 14.07.2018 11:15

И что я должен делать ? @greenapps

amirhesni 14.07.2018 11:24

В ответном сообщении @greenapps говорится, что "полезная нагрузка слишком велика", если это помогает

amirhesni 14.07.2018 11:29

Нет кода, в котором вы пытаетесь получить ответное сообщение.

greenapps 14.07.2018 11:47

Нет кода, в котором вы пытаетесь получить ответное сообщение.

greenapps 14.07.2018 11:47

Мне кажется, что сервер позволяет отправлять только небольшие изображения.

greenapps 14.07.2018 11:49
1
10
304
0

Другие вопросы по теме