Я пытаюсь отправить фотографии на 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 Я это проверил! sourceFile существует
Покажите, пожалуйста, трассировку стека. И скажите, какое у вас исключение.
but when i want to get response code from connection Нет кода, где вы пытаетесь это сделать.
Вы не можете использовать FileInputStream при выборе изображения из галереи, так как тогда вы получите не путь к файлу, а URI содержимого.
И что я должен делать ? @greenapps
В ответном сообщении @greenapps говорится, что "полезная нагрузка слишком велика", если это помогает
Нет кода, в котором вы пытаетесь получить ответное сообщение.
Нет кода, в котором вы пытаетесь получить ответное сообщение.
Мне кажется, что сервер позволяет отправлять только небольшие изображения.
Вероятно, изображение по указанному пути не существует.