@QFCFC

Почему не удаётся загрузить файл на сервер?

Пытаюсь загрузить файл на сервер, с которым соединяюсь по WebDAV протоколу.
Получается загружать маленькие файлы. А вот файлы в районе 50КБ (+-5КБ) уже с большой вероятностью пересылаться не будут (но могут, раз на раз не приходится). Файлы с большим весом соответственно не передаются вовсе.
Самая частая ошибка:
Exception in thread "main" java.net.SocketException: Software caused connection abort: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)

Есть ещё такая:
Exception in thread "main" java.net.SocketException: Connection reset by peer: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)

Но её получить труднее (выскакивает в тех же условиях).

Код запроса на сервер:
byte[] data = getDataForRequest();
//ByteArrayEntity byteArrayEntity = new ByteArrayEntity(data);
BasicHttpEntity entity = new BasicHttpEntity();

HttpPut httpPut = new HttpPut(file);
//httpPut.setEntity(new BufferedHttpEntity(byteArrayEntity));

ByteArrayInputStream bis = new ByteArrayInputStream(data);
entity.setContent(bis);
entity.setContentLength(data.length);
httpPut.setEntity(new BufferedHttpEntity(entity));

setCommonHeaders(httpPut);

HttpResponse response = getClient().execute(HTTP_HOST, httpPut);


Прим.: Используется библиотека Apache HttpComponents

В чём может быть проблема? Напоминаю, что код работает для маленьких файлов.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы