Изображение из общедоступного каталога не загружает Express NodeJS

#javascript #node.js #express

#javascript #node.js #экспресс

Вопрос:

Здравствуйте, я пишу экспресс-приложение, у меня есть общедоступный каталог, и в нем есть одно изображение. В app.js в файле я использую строку «app.use(express.static(__dirname ‘/ public/’));», поэтому express знает, как использовать эту папку.

Изображение загружается на некоторых страницах, а на других страницах — нет, оно загружается на страницы с URL-адресами, где только одно слово после базового URL, например www.amazonaws.com/blogs или www.amazonaws.com/login но изображение не загружается на страницы с URL-адресами, такими как www.amazonaws.com/blogs/best или www.amazonaws.com/blogs/102 .

Я использую файлы ejs, и все они находятся в одной папке, например, файл ejs «blogs», который используется для www.amazonaws.com/blogs работает нормально, но для «лучшего» файла ejs для www.amazonaws.com/blogs/best everthying работает нормально, за исключением того, что это изображение не загружается. Не уверен, почему это так? Спасибо за любую помощь.

Комментарии:

1. Не могли бы вы показать какой-нибудь код?

Ответ №1:

URL-адрес вашего изображения на веб-странице должен начинаться с / , поэтому он не является URL-адресом, относящимся к пути. Судя по вашим симптомам, похоже, что URL-адрес вашего изображения на странице — это просто простое имя, например:

 <img src="image.jpg">
  

Когда вы делаете это таким образом, браузер выбирает путь к вашей веб-странице и объединяет его с именем файла, и какой URL-адрес, который запрашивает браузер, будет отличаться в зависимости от того, есть ли у веб-страницы путь или нет. Если вместо этого вы сделаете это:

 <img src="/image.jpg">
  

Затем браузер будет использовать только домен веб-страницы, а не путь, и вы получите согласованный URL-адрес независимо от того, в каком пути к веб-странице находится эта ссылка, потому что это абсолютный путь, а не относительный путь.

Комментарии:

1. Это была проблема, добавление косой черты исправило ее, большое спасибо