Каков наилучший способ хранения ресурсов / контента в приложении react?

#javascript #reactjs #file #file-upload #server

#javascript #reactjs #файл #загрузка файла #сервер

Вопрос:

Я работаю над социальным приложением, которое позволит пользователям записывать голосовые заметки. Например, для тестирования я использовал несколько файлов mp3 в папке внутри приложения./audios/file.mp3 Мне нужно было бы хранить файлы mp3 от пользователей и другие ресурсы, такие как изображения, где-нибудь в Интернете и иметь возможность получать их с помощью URL-адреса вместо того, чтобы иметь доступ кфайлы в файлах приложения. Какие варианты у меня есть для этого?

Ответ №1:

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

Хранение ресурсов в виде файлов — неплохая идея. Что вы можете сделать, это присвоить своим файлам имена, используя UUID, и сохранить имена UUID в базе данных.

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

Для узла должен быть полезен uuid пакета.

Ответ №2:

Предполагая, что вы загрузили приложение react с помощью create-react-app.

Храните все ресурсы внутри public каталога. Вы можете создать assets папку внутри общедоступного каталога и хранить в ней все ресурсы.

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

используется process.env.PUBLIC_URL для извлечения общедоступного каталога и ${process.env.PUBLIC_URL}/assets указания каталога ресурсов.

Надеюсь, вы понимаете.