Протокол для настольного загрузчика файлов - PullRequest
0 голосов
/ 09 августа 2010

Я пытаюсь создать загрузчик больших файлов. В настоящее время я использую swfupload и nginx + rails и могу загрузить файл размером до 1 ГБ, прежде чем столкнуться с проблемами. После 1 ГБ, в зависимости от ОС, swfuploader начинает блокироваться или просто выдает 500 ошибок.

Я заметил, что Vimeo предлагает загрузку 2 ГБ с помощью загрузчика с рабочего стола. Flickr тоже имеет нечто подобное (и я думаю, что они поддерживают приостановку загрузки). Какой протокол можно использовать для такого настольного загрузчика? Можно ли использовать FTP для этого?

Спасибо Prateek

1 Ответ

0 голосов
/ 09 августа 2010

Na, я бы не использовал FTP для этого по следующим причинам:

  • FTP - это зло и должно умереть (активные / пассивные соединения, незашифрованные учетные данные)
  • Правильное обращение с безопасностью было бы сложным. Вы не можете использовать одну учетную запись для всего (поскольку учетные данные должны быть встроены в программное обеспечение на стороне клиента), поэтому вам потребуется FTP-сервер, который может аутентифицироваться в базе данных пользователей вашего веб-приложения (возможно, но долго)
  • Вам нужно написать некоторую интеграцию между вашим приложением и вашим FTP-сервером

Вы можете справиться с этим, используя собственный простой протокол. Я не знаю, было бы эффективно делать это по HTTP, но если бы это было так, вам просто нужно POST-части вашего файла и обрабатывать его на стороне сервера. Просто убедитесь, что вы разрешаете частичную загрузку. Это должно быть довольно просто реализовать.

...