2014-11-10 9 views
1

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

Теперь я понимаю это как способ URL-адресов, и если вы отправляетесь на веб-страницу на том же сервере, вы используете относительный путь, и если страница находится на другом (внешнем) сервере, тогда вам нужно будет использовать абсолютный путь, т.е. http://www.google.com. Но я никогда не понимал этого в способе файлов.

Пример и моя проблема.

Я строй электронного класса HTML, который будет отправлять изображение в виде IMG, как знамя

builder.AppendLine("<img src=C:\Images\\MailBanner.jpg\" alt=\"banner\">"); 

Теперь, если я использую абсолютный путь, как и выше, изображение будет отображаться.

Однако, когда я разворачиваю сайт на нашем веб-сервере, то, конечно, изображение не находится на диске C:, поэтому изображение не отображается в письме. Итак, где мне нужно положить \..\ в источник?

Это точка, где изображение хранится на веб-сервере в проекте?

Я предполагаю, что вам может понадобиться дополнительная информация, которую я опубликовал, но мне может понадобиться какое-то объяснение.

Благодаря

ответ

0

Просто поместить изображения в папку изображений под папку проекта, то ваш код будет:

builder.AppendLine("<img src=\"\images\MailBanner.jpg\" alt=\"banner\">"); 

И ваш путь изображения:

/project/images/MailBanner.jpg 

И ваш проект обычно под папкой www папки вашего веб-сервера.

0

Настройка папку с изображениями в вашем проекте и исправить атрибут Src:

builder.AppendLine('<img src="images/mailbanner.jpg" alt="banner">');

EDIT: Ваша проблема здесь ваш код Javascript. Вам необходимо использовать Apostrophe до и после вашего тега и кавычек для ваших атрибутов тега img. В противном случае ваш javascript не сможет понять, каковы ваши атрибуты.

0

Я предпочитаю в основном использовать относительные пути, потому что когда вы перемещаете данные из локального местоположения на веб-сервер, пока структура каталогов не изменяется, ничего не сломается. Но ОС также имеет значение.
Например, я вижу, что ваш файл был перемещен с сервера Windows. Поэтому, если вы не переместили его на другой сервер Windows и буква диска не изменилась, ваш абсолютный путь будет нарушен.

Если файл был перемещен на сервер окна с точно такой же структурой каталогов:

builder.AppendLine('<img src="C:\Images\MailBanner.jpg" alt="banner">'); 

Если файл был перемещен в Linux сервер:

www/images 

builder.AppendLine('<img src="/Images/MailBanner.jpg" alt="banner">'); 

ПРИМЕЧАНИЕ: Первый слэш очень важен. / сообщает Apache, что каталог находится в корневом каталоге документа (www). Без / Apache ожидает, что каталог будет находиться в текущем каталоге, где находится файл/сценарий. Еще одним важным соображением при перемещении файлов из Windows в Linux является то, что Linux с учетом регистра. /Images/MailBanner.jpg - это не то же самое, что изображения/mailbanner.jpg.

Смежные вопросы