проблема абсолютного пути src

У меня есть изображение в C:\wamp\www\site\img, и я пытаюсь отобразить его на странице следующим образом:

<img src="C:\wamp\www\site\img\mypicture.jpg"/>

но это не работает. Файл на самом деле существует, и если я попытаюсь сослаться на него с относительным путем, я получу изображение

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

где ошибка? что я упускаю?? еще раз спасибо, ребята!


person luca    schedule 01.03.2011    source источник
comment
<img src="C:\\wamp\\www\\site\\img\\mypicture.jpg"/> возможно будет работать, если на той же машине   -  person KJYe.Name 葉家仁    schedule 01.03.2011
comment
@ kjy112 Нет. См. Ответ @ Люка.   -  person rlb.usa    schedule 01.03.2011
comment
@ rlb.usa, если он находится на той же локальной машине, он должен работать.   -  person KJYe.Name 葉家仁    schedule 01.03.2011
comment
Я СОВЕРШЕННО новичок в программировании и веб-дизайне. Попал сюда, потому что у меня была та же проблема, что и в вопросе. У меня был образ на другом диске, кроме C, поэтому он не работал. После некоторых исследований и просмотра адресной строки я заметил несколько лишних косых черт, и теперь я вижу изображение там, где оно должно быть. - На всякий случай, если кому-то это может пригодиться: ‹IMG SRC=file:///D:/img/smiley.gif› О, кстати, я думаю, что нет «локального хоста», потому что я его не использую, html-файл находится на том же диске, но еще не на сервере (он понятия не имеет, как это сделать! =D).- Спасибо всем   -  person Robergto    schedule 11.11.2015


Ответы (4)


Вы должны ссылаться на него как localhost. Так:

<img src="http:\\localhost\site\img\mypicture.jpg"/>

person rlb.usa    schedule 01.03.2011
comment
спасибо, я воспользовался вашим предложением, но с косой чертой, и теперь у меня есть свое изображение ... но мне было интересно, почему вместо этого работает мой css, на который ссылается c:\wamp\www\site\css\mycss.css? - person luca; 01.03.2011
comment
Никогда не используйте обратную косую черту в URL-адресах - person leonbloy; 01.03.2011
comment
(поздний комментарий, я знаю) Просто потому, что протокол неверен, протокола C: не существует. Вместо этого вы могли бы использовать протокол file://, если бы действительно хотели (не обязательно http://localhost), и да, никаких обратных косых черт, как сказал leonbloy - person Teodor Sandu; 16.12.2013
comment
есть ли способ поймать или узнать, что изображение сломано? - person Muneem Habib; 18.09.2015
comment
@MuneemHabib См. здесь stackoverflow.com/questions/ 92720/ - person rlb.usa; 18.09.2015

Я думаю, поскольку диск C будет виден на клиентском компьютере, он не позволит вам. И если бы он мог это сделать, это была бы большая дыра в безопасности.

person Luke Duddridge    schedule 01.03.2011
comment
что ты имеешь в виду? объясните пожалуйста - person luca; 01.03.2011
comment
Если вы ссылаетесь на вещи с диска C; во-первых, файл должен быть расположен в одном и том же месте на всех компьютерах. Я не говорю, что то, что вы хотите сделать, было большой дырой, но представляю, сможете ли вы запустить командную строку, связавшись с ней через корень C. - person Luke Duddridge; 01.03.2011
comment
Я понял, Люк, спасибо! Теперь мне было интересно, почему я не столкнулся с той же проблемой с моим файлом CSS, на который ссылается то же самое, используя мой диск C. - person luca; 01.03.2011
comment
Возможно, вам придется провести некоторое исследование по этому вопросу, но я думаю, что это как-то связано с тем, как отображается страница, объекты, определенные в разделе заголовка, отображаются до загрузки страницы, поэтому, хотя вы запрашиваете c:\xxx.css на самом деле он находится, как будто на сервере, может быть, я даже не шучу :). У меня есть еще одно предложение: если вы хотите иметь абсолютные ссылки, вы можете ссылаться на свои изображения из корня вашего IIS следующим образом: src="/site/img/mypicture.jpg" - person Luke Duddridge; 02.03.2011

Используйте косую черту. См. объяснение здесь

person leonbloy    schedule 01.03.2011

C:\desktop\www\site\img\mypicture.jpg --› Ваше местоположение в окнах.

src=file:///C:/desktop/www/site/img/mypicture.jpg --› поместите это в атрибут CSS.

ПРИМЕЧАНИЕ. Обратные косые черты ( \ ) являются разделителями ОС Windows, вам необходимо использовать ( / ), если вы хотите указать путь в URL-адресе, даже если сервер использует Windows.

person Koshan Qari    schedule 28.06.2021