Angular + node.js, установка статического пути к изображению (относительный путь) - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу установить статический путь с помощью node.js в app.js.

Например, с настройкой в ​​папке public:

app.use(express.static(path.join(__dirname, 'public')));

Когда я использую шаблонизаторы, такие как mustache https://mustache.github.io/ , Вы можете установить его, используя относительный путь в шаблоне, чтобы получить фотографию a.jpg, например:

<img src="./a.jpg">

Когда я сохраняю фотографию пользователя в папке public.

В Angular, как мне установить относительный путь img url из папки сервера node.js.

Если я сохраню полный URL-адрес в DB и задаю URL-адрес в img:

    http://120.8.12.8:3000/a.jpg
    //or
    http://domainname:3000/a.jpg

HTML:

<img src="http://120.8.12.8:3000/a.jpg">
<img src="http://domainname:3000/a.jpg">

Когда я меняю IP или доменное имя, URL не будет работать. Как я могу установить его?

1 Ответ

0 голосов
/ 05 сентября 2018

Я бы не сохранил полный путь в базе данных. В противном случае я сохраню информацию о том, как сгенерировать путь. Вы можете иметь 2 поля в базе данных, например:

{
"relativePath" : "a.jpg",
"server" : "http://120.8.12.8:3000"
}

После этого и при условии, что вы используете ресурс из angular, у вас есть несколько вариантов:

  1. Вы можете напрямую смешать относительный путь и сервер во внешнем интерфейсе и создать URL для размещения в ссылке
  2. Вы можете жестко закодировать в своем угловом приложении, что такое «сервер», и смешать его с относительным путем. В этом случае, если вы переносите изображения, вам просто нужно изменить интерфейс
  3. (лучшее для меня). Создайте конечную точку на сервере, которая даст вам имя хоста сервера изображений, вызовите ее из вашего углового приложения, а затем создайте полную ссылку с этим ответом и относительным путем к изображению.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...