Html 正确使用图像文件中的相对路径

Html 正确使用图像文件中的相对路径,html,relative-path,Html,Relative Path,从我职业发展的一开始,有一件事一直让我困惑,那就是相对和绝对的道路 现在,我从URL的角度理解了这一点,如果您要访问同一服务器上的网页,则使用相对路径,如果该网页位于不同的(外部)服务器上,则需要使用绝对路径,即。但我从来没有从文件的角度来理解它 例子和我的问题 我正在构建一个HTML电子邮件类,它将图像作为img作为横幅发送 builder.AppendLine("<img src=C:\Images\\MailBanner.jpg\" alt=\"banner\">");

从我职业发展的一开始,有一件事一直让我困惑,那就是相对和绝对的道路

现在,我从URL的角度理解了这一点,如果您要访问同一服务器上的网页,则使用相对路径,如果该网页位于不同的(外部)服务器上,则需要使用绝对路径,即。但我从来没有从文件的角度来理解它

例子和我的问题

我正在构建一个HTML电子邮件类,它将图像作为img作为横幅发送

 builder.AppendLine("<img src=C:\Images\\MailBanner.jpg\" alt=\"banner\">"); 
builder.AppendLine(“”);
现在,如果我像上面那样使用绝对路径,图像将显示

但是,当我将站点部署到web服务器上时,当然,映像不在C:驱动器中,因此映像不会出现在电子邮件中。那么,我需要把
\\\
放在源代码的哪里呢

它是否作为图像存储在项目中web服务器上的点

我猜你可能需要一些更多的信息,然后我张贴,但我可能需要一些解释真的


谢谢

只需将图像放在项目文件夹下的文件夹中,您的代码将是:

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

您的项目通常位于web服务器文件夹的
www
文件夹下。

在项目中设置图像文件夹并修复src属性:


builder.AppendLine(“”)我更喜欢使用相对路径,因为当您将数据从本地位置移动到web服务器时,只要目录结构不改变,就不会有任何内容中断。但是,操作系统也很重要。
例如,我可以看到您的文件已从windows服务器移动。因此,除非您将其移动到另一个windows服务器,并且驱动器号相同,否则您的绝对路径将断开

如果文件被移动到具有完全相同目录结构的windows服务器:

builder.AppendLine('<img src="C:\Images\MailBanner.jpg" alt="banner">');
builder.AppendLine(“”);
如果文件已移动到linux服务器:

www/images

builder.AppendLine('<img src="/Images/MailBanner.jpg" alt="banner">');
www/images
建筑商。附录(“”);
注意:第一个正斜杠非常重要。
/
告诉Apache目录位于文档根目录(www)中。如果没有
/
,Apache希望目录位于文件/脚本所在的当前目录中。将文件从Windows移动到Linux时,另一个重要的考虑因素是Linux区分大小写/Images/MailBanner.jpg与Images/MailBanner.jpg不同

www/images

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