#javascript #reactjs #axios
#javascript #reactjs #axios
Вопрос:
в общей папке есть несколько изображений, и когда пользователь выбирает одно из них, я должен отправить изображение на сервер, и это должен быть сам файл изображения, а не его имя или что-то еще, проблема в том, что когда я импортирую изображение следующим образом:
import file1 from "../../../public/static/images/1.png"
а затем используйте этот код:
const data = new FormData();
data.append("useChoice", file1);
результат будет пустым или не будет файлом. как я должен с этим справиться?
Комментарии:
1. Что, если вы загрузите изображение на сервер и загрузите его оттуда? Таким образом, вы можете передать абсолютный путь к изображению на сервере на сервер, и он сможет получить к нему доступ локально, а не получать изображение от клиента?
2. это действительно хороший ответ, и большое вам спасибо за ваше время, но мне сказали это сделать, у меня нет других вариантов, кроме как загрузить само изображение
3. Существует разница между использованием ввода файла и простым импортом изображения. Использование импортированного изображения так же, как файла, выбранного пользователем, не работает. Однако есть некоторое обходное решение: medium.com/trabe /…
Ответ №1:
вместо того, чтобы загружать изображение и отправлять его клиенту, пользователь затем снова отправляет его на сервер. вы должны использовать ссылку на эти изображения. Если вы должны сделать это таким образом, попробуйте https://webpack.js.org/guides/asset-management/#loading-images
Комментарии:
1. спасибо за ответ, я еще не пробовал это в коде, но я прочитал статью и думаю, что это должен быть ответ, так что спасибо
2. @simaghoreyshi Если ваша задача состоит в том, чтобы фактически загрузить весь файл, это неправильный ответ. Вы просто отправляете ссылку на сервер, сообщая серверу, чтобы он сам загрузил файл.
3. @timotgl да, я должен загрузить весь файл, что мне делать? есть ли рабочее решение? Я искал ооооочень долго, это кажется таким непрофессиональным, но мне сказали это сделать.
4. @simaghoreyshi Смотрите мой комментарий к вашему первоначальному вопросу выше. Я уверен, что есть решение, просто немного сложно использовать импортированный файл таким образом. Кстати, это хорошее упражнение.