Запрос совета для принятия больших файлов загрузки - PullRequest
1 голос
/ 02 марта 2012

Я смотрю на создание веб-приложения, которое включает в себя элемент загрузки файла. Я бы хотел, чтобы пользователи могли загружать файлы любого типа и довольно большого размера (скажем, до 100 МБ). Это будет общедоступный сайт, поэтому безопасность, безусловно, очень важна.

Я довольно много гуглил в поисках ответов, но это сложно, когда я не совсем точно знаю, что ищу.

Мой опыт в основном связан с PHP, но я понимаю, что PHP не считается лучшим, когда дело доходит до загрузки файлов, поэтому я с удовольствием посмотрю на другие языки, если это необходимо. Хотя, если можно найти достойное решение с использованием PHP, это было бы предпочтительнее.

Поскольку у меня нет опыта работы с такими проектами, я также совершенно не знаю, какие настройки сервера требуются для такого приложения.

Я выдумал несколько идей, но готов отказаться от них, если неоправданно:

  • Я бы хотел использовать Amazon S3 для хранения файлов, если это возможно (чтобы уменьшить нагрузку на сервер)
  • Я бы хотел иметь возможность переименовывать файлы после загрузки
  • Я рассматриваю Uploadify (uploadify.com) для клиентской стороны

По сути, представьте, что я хотел создать приложение для отправки файлов, например wetransfer.com или yousendit.com, и вы поймете общую идею.

Я знаком со всеми обычными проблемами загрузки файлов PHP (проверка mime-типов, upload_max_filesize, memory_limit и т. Д. И т. Д.), Охватываемыми 99% постов в Интернете по этой теме, но, очевидно, этот проект проходит неплохо за пределы обычного сценария загрузки аватара.

Я знаю, что это масштабная тема, и я, очевидно, не ожидаю, что кто-нибудь представит мне волшебное решение, но в основном я ищу некоторые подсказки, с чего начать. Кто-нибудь может порекомендовать какие-нибудь хорошие книги, статьи или веб-сайты, где я могу лучше понять требования задачи? Охватывает все от программирования до требований к серверу? Даже если это просто список ключевых слов или фраз, которые я должен искать в Google.

Заранее спасибо!

P.S. Я не был уверен на 100%, был ли это правильный сайт StackExchange, чтобы разместить этот вопрос. Я также рассмотрел serverfault.com и webmasters.stackexchange.com. Если вы считаете, что этот вопрос лучше задать в другом месте, пожалуйста, дайте мне знать.

1 Ответ

1 голос
/ 02 марта 2012

Если вы направляете загрузку через ваш PHP, вам нужно убедиться, что он принимает эти большие файлы.Особенно upload_max_filesize, post_max_size и max_input_time.См. POST-метод загрузки , чтобы узнать, как это сделать.

С Resumable.js вы можете довольно легко обойти вышеупомянутые ограничения.Он загружает небольшие куски вашего 100 МБ за один раз.Это позволяет ему отслеживать, что было загружено, чтобы разрешить паузу / возобновление загрузки.

Хотя я никогда не работал с Amazon S3, я не верю, что вы можете загружать данные с любого клиента - по крайней мере, безвид аутентификации.Вам, вероятно, придется направить загрузку через свой собственный сервер, чтобы отправить ее на S3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...