Photo\file storage on (java)

Є проект на якому потрібно зробити так щоб користувач завантажував на сервер фото ну а сервер їх відповідно десь зберігав.
Підкажіть будь ласка якесь рішення як зберігати ці фото? Яку ієрархію побудувати? яку структуру? Можливо вже є якісь готові рішення\ ліби?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Подивіться як реалізовано в Alfresco. У них метадані зберігаються у базі, а контент у файловій системі. Можливо таке рішення Вам підійде.

це дуже цікаво і було б корисно глянути якби сорс код не займав аж 435 метрів.. може скажете як називається під проект який відповідає за ФС, а то знайти щось там дуже тяжко

Якщо не помиляюсь, то це модуль alfresco-repository.

Я думаю, что речь о том, чтобы файлы хранить оптимально для операционки и для их нахождения потом. Гугл точно бы помог.... а вот мои мысли:
создать дерево папок на первым 3-4 буквам названия файлов в транслите.
как вариант — почтитайте о дропбоксе, они вообще пытаются понять — а нет ли у них уже такого файла, и если что — просто ссылку ставят на него, но сие очень сложно :)

ну для того гадаю треба брати хеш файла і зберігати його мапінг.. Але не факт що наші користувачі будуть грузити такі фото які вже повторювались. Просто ще ТЗ не дали конкретно, але я вирішив дізнатись про це якнайбільше бо ніколи ще не мав справу з таким.

Я думав зберігати файли в папці яка буде називатись як юзер ід

ну тогда сразу на заметку — если люди буду грузить файлы не только на английском, сохраняйте файлы по их ID в базе, чтобы не было проблем с именами.
и не забывайте забирать mime-type при загрузке, и отдавать при скачивании

Мається на увазі як зберігати фото на диску. Гадаю не варто використовувати які бази даних для цього. З приводу к-ті користувачів — нічого не відомо поки.

мається на увазі те як зберегти файли? яка ієрархія папок? Яким чином краще мапити справжні імена файлів і ті під якими вони зберігаються на диску(використовувати щось типу скл(для невеликої к-ті користувачів) чи є якісь інші варіанти?.

По первому вопросу — ну вот так например — Береш jersey и выпиливаешь rest сервис жрущий майм тайп multipart и сохраняющий принятый InputStream в файловую систему. Мета информацию хранишь в базе или памяти в зависимости от потребностей. Отдавать — считывая файл с диска по запрошеной мете. Я ж не знаю что тебе надо- больше деталей давай

а чим джерсі кращий від Spring MVC?

ну делайте на мвц если вам так хочется всю эту мандулу с собой тащить

Какие-то очень рагульные требования. Cколько фото, пользователей, сколько работает одновременно. Вот от болта скажу- ну возми GridFS и вперед и с песней. Какой вопрос такой ответ...

Підписатись на коментарі