На стороне клиента я могу сделать:
Код: Выделить всё
TusUpload upload = new TusUpload();
upload.setSize(filelength);
В спецификации протокола TUS он говорит, что я могу изначально установить размер равным 1, и как только я это узнаю, я смогу установить правильный размер.
Я пробовал это, но как только я вызываю upload.setSize( 1) повторный вызов не имеет никакого эффекта, серверная сторона всегда видит 1.
Если я оставлю первоначальный вызов setSize(), я получу исключение на стороне сервера, как оно есть отсутствие размера является нарушением протокола.
Установка правильного размера жизненно важна, потому что размер вместе с количеством байтов, полученных на стороне сервера, — это то, что отмечает конец загрузки, и теперь мой код никогда не осознавал, что весь файл был передан.
Связанный с этим вопрос заключается в том, как я могу определить на стороне сервера, что клиент умер и никогда не завершит загрузку. Я предполагаю, что, поскольку это протокол в стиле HTTP REST, все, что я могу сделать, это установить тайм-аут для передачи.
Подробнее здесь: https://stackoverflow.com/questions/791 ... it-beforeh