Подтвердить что ты не робот

Большая загрузка файла, хотя форма html (более 2 ГБ)

Можно ли загрузить файл более чем на 2 ГБ, используя простую загрузку формы html? Раньше я загружал большие файлы через silverlight, используя chunking (разделение большого файла на сегменты, а затем загрузку сегментов по одному, а затем сборку сегментов на сервере).

Теперь у нас есть требование, что нам просто нужно использовать простые загрузки формы html (хотя GWT). Пожалуйста, направляйте меня, если есть способ достичь большой загрузки файлов таким образом.

Если это невозможно сделать с помощью простого html, может ли кто-нибудь объяснить мне, как я могу разделить и загрузить файл в сегментах с помощью flex?

4b9b3361

Ответ 1

Ограничение размера запросов HTTP POST обычно отсутствует на стороне HTML. Это ограничение больше на стороне сервера. Веб-сервер должен быть настроен для принятия больших запросов POST. Обычно по умолчанию часто используется 2 ГБ, и сервер обычно возвращает ошибку HTTP 500. Предел по умолчанию часто может быть увеличен до 4 ГБ, но все, что находится за его пределами, попадет на границу 32-битных систем. На 64-битных системах с 64-битной ОС теоретическая граница намного выше, 16EB.

Если настройка веб-сервера для принятия больших запросов POST не является вариантом или когда вы хотите выйти за пределы ограничения веб-сервера, то у вас нет другого выбора, кроме как разделить файл на стороне клиента и повторно собрать части на сервере сторона.

Так как HTML - это только язык разметки, он не предоставляет возможности для разделения файла. Вам действительно нужно использовать обычный язык программирования, такой как С# (Silverlight) или Java (Applet), в стиле небольшого приложения, которое вы обслуживаете на своей веб-странице. Очень возможно, это также возможно с помощью Flash или Flex, но не привязывайте меня к этому, так как я тоже не делаю.

Сказано, что FTP - это гораздо лучший выбор, чем HTTP для передачи (больших) файлов по сети. Я бы пересмотрел выбор использования HTTP для этого.

Ответ 2

Используйте API файлов HTML5 для загрузки больших файлов. который имеет концепцию разрезания, так что вы можете загружать большие файлы.

var reader= new FileReader();
reader.onload=function(e){

//do whatever you want with result
}
var blob = file.slice(startingByte, endindByte);//slicing file
reader.readAsBinaryString(blob);

Учебник по файловой системе

Учебник API файлов