@My1Name

Где и как хранить файлы пользователей?

На сколько правильно хранить файлы пользователей web-приложения (Spring) в каталогах по относительному адресу? Например: c:/name project/users/1000/1...1000/ Когда количество папок в папке "1000" достигает соответствующего значения, то создаётся новый каталог со следующей тысячей: c:/name project/users/2000/1...1000/ и т.д. Есть ли какие-то альтернативные решения? Или как лучше всего хранить файлы пользователей?
  • Вопрос задан
  • 463 просмотра
Решения вопроса 1
xez
@xez
TL Junior Roo
1. Адреса должны быть относительными всегда
2. Место хранения следует задавать переменной
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
Это вообще не вопрос. Реальная проблема в том, как проверить, сколько физического места занимает папка пользователей "users"?
Во первых если это реальная проблема - почему вопрос совершенно о другом?

Во вторых - у вас в примере виндовый диск, что как бы странно для хостинга. В случае линуха все решается либо командой du -sm /your/directory/* либо установкой ncdu, который сильно быстрее, и соответственно что-то типа ncdu /your/directory/.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Если тебе нужно временное место - то используй системную переменную

System.getProperty("java.io.tmpdir")

Или с префиксом и суффиксом - есть готовая функция которая возвращает файл.

Files.createTempFile("", ".tmp")

Вместо игр со счетчиком от 0 до 1000 - лучше использовать текущую дату-время или GUID.
Ответ написан
Комментировать
@Refguser
Решения для бизнеса: от создания ИМ до...
На сколько правильно хранить файлы пользователей web-приложения (Spring) в каталогах по относительному адресу?

Всё зависит от общих принципов формирования адресов в приложении. Нужно делать единообразно.
Только не забывать, что если используются абсолютные ссылки, но должна быть константа или перемененная, указывающая на корень, от которого и формируются все ссылки приложения.


Есть ли какие-то альтернативные решения? Или как лучше всего хранить файлы пользователей?

Полно альтернатив. Зависит от задач и условий эксплуатации.
Можно раскидывать по датам (напр месяцам: 2023/12, 2024/01)
Можно по юзерам
Можно по теме
итд.
Можно также комбинировать способы.

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

Войдите, чтобы написать ответ

Похожие вопросы