2009-10-07 2 views
1

Я ищу способ загрузить очень большие файлы, средства, 5 ГБ и более, через веб-интерфейс. Можно выбрать систему языка/сервера. Запросы POST-запросов кажутся неработоспособными, поскольку внутренний файл-файл браузера обрабатывает файлы объемом до 2 ГБ. Другие варианты могут быть, например, Java-апплет, FTP-запрос (например, выполненный Javascript-Library) или что-то еще, что может сделать это надежно.Загрузка очень больших файлов

Любые идеи оценили.

ответ

3

У меня была такая же задача здесь; мы закончили с Silverlight клиентским приложением, которое выполняет следующие действия:

  • Позволяет пользователю выбрать один или несколько файлов
  • Для каждого файла
    • разбить его на мелкие куски данных (всего несколько килобайт)
    • Сжатие данных chunk с помощью gzip
    • Создайте контрольную сумму и отправьте ее на webservice
    • На стороне сервера проверьте, что контрольная сумма
    • Создать/частично открытым файл
    • Append несжатых данных в конец
    • Доклад о ходе работы с индикатором прогресса и стреляющие события Javascript

До сих пор работает как шарм.

+0

звук многообещающий - у меня есть попытка, спасибо. – schneck

2

Все, что работает внутри браузера, не будет работать, поскольку оно будет использовать тот же API. Таким образом, ваши варианты - это автономное приложение или апплет или, может быть, Flash (чего я не знаю).

Предлагаю попробовать апплет и commons-fileupload.

2

Просто мысль ... HTTP не подходит для передачи данных этого размера.

Хотя это может сработать, скорее всего, он потерпит неудачу и будет трудно возобновить.

FTP звучит более многообещающе, но загружаются гигабайтные загрузки.

Bittorrent обрабатывает этот размер передачи, но это целая история.

Смежные вопросы