2010-04-09 2 views
1

В течение последних 5 лет моим типичным решением для хранения загруженных файлов (изображений, видео, документов и т. Д.) Было бросить все в папку «загрузить» и присвоить ему уникальное имя.Сохранение загруженного контента на веб-сайте

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

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

ответ

0

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

С точки зрения хранения файлов на диске речь идет о том, сколько, какие шаблоны доступа и какая ОС/платформа вы используете. Для некоторых людей даже может быть полезно хранить файлы в базе данных.

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

0

Рассмотрите виртуальную файловую систему, такую ​​как SolFS. Вот как это может решить вашу задачу:

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

Если у вас много одноразовых посетителей, вы можете иметь один или несколько контейнеров с файлами, сгруппированными по дате загрузки.

Виртуальная файловая система позволяет сохранять исходные имена файлов либо в качестве фактических имен файлов, либо в качестве метаданных для хранящихся файлов.

Далее вы можете сжать данные, хранящиеся в контейнере.

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