#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
указания каталога ресурсов.
Надеюсь, вы понимаете.