- Версия сардины: 5.8
- Java 1.8
(актуально для любых перезаписей зависимостей?)
- Проект Spring Boot 2.1.2
- Tomcat9.0.14
Я могу подключиться к своему Серверу (Nextcloud) через Sardine.Кроме того, выполненный put
-call влияет на сервер, так как он помещает ожидаемый файл в правильный каталог.Но, как указано в заголовке, файл пуст (0 байт).Также нет исключения клиента.
, работающий с put(String, byte[])
, работает должным образом, и Файл на сервере работает полностью.Но я не хочу ограничиваться максимальным размером файла byte[Integer.MAX-5]
.
Следующий код работает, а это значит, что речь не идет о ssl или каких-либо других вещах, связанных с подключением
File file = new File(filePath);
byte[] data = new byte[(int) file.length()];
FileInputStream stream = new FileInputStream(file);
int readedBytes = stream.read(data);
if (readedBytes == file.length()) {
client.put(remotePath, data);
}
Этот код НЕ работает
File file = new File(filePath);
client.put(remotePath, new FileInputStream(file));
На сервере Nextcloud я получаю следующую запись в журнале:
"Exception":"Sabre\\DAV\\Exception\\BadRequest","Message":"expected filesize 240823 got 0"
Мне кажется, что что-то идет не так при копировании содержимого входного потока в фактическийhttp out stream.Поскольку заголовки, кажется, имеют правильный размер байта, как мы видим в журнале сервера, но фактическое содержимое равно нулю.
У кого-нибудь еще были проблемы с этим?Я что-то пропустил?Спасибо за любые советы и помощь!