Как импортировать / загружать изображения из пользовательского ввода в производственной среде в React / Node - PullRequest
0 голосов
/ 29 февраля 2020

Я создаю панель администратора, которая позволяет администраторам изменять изображение домашней страницы. Когда администратор нажимает «Сохранить», я сохраняю изображение локально и сохраняю его имя в БД, которую я получаю, когда компонент монтируется. Код работает без проблем при разработке, но завершается с ошибкой при работе:

This is the error on the console: "Error: Cannot find module './imageName.png'. 

Изображение правильно загружается в папку, но приложение все равно не может найти его, даже если к изображению можно получить доступ через: localhost: 3000 / static / media / imageName.png

Вот код для загрузки изображения:

let test = require("../assets/images/" + response.data[i].imageName);
document.getElementById("myImage").style.backgroundImage = "url(" + test + ")";

Я загружаю изображения в мой dev папка и папка сборки, в которой изображения хранятся с использованием мультера:

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    const error = (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png') ? null : new Error('wrong file');
    cb(error, 'client/build/static/media/')
    // cb(error, __dirname + '/client/src/assets/images/');
  },
  filename: function (req, file, cb) {
    cb(null, file.originalname.trim().replace(/ /g, ""))
  }
})

Я считаю, что проблема связана с ошибкой маршрутизации, но я не уверен, как ее исправить, любая информация будет полезна!

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...