2011-01-21 112 views
2

我需要在网页中显示图片。但该图像不存在于Web目录中。如果图像在web目录下,我知道只有“../Images/TN/my.jpg”可以使用。但该图像可在“D:\ Images \ TN \ my.jpg”中找到,我的网站部署在“C:\ apps \ mywebsite”中。将物理路径转换为网页路径asp.net

如何将“D:\ Images \ TN \ my.jpg”路径转换为相对路径,以便图像在网页中可见?

+0

简短的回答:你不能。那将是一个巨大的安全漏洞。 – leppie 2011-01-21 06:47:05

+0

@leppie你好!但是我无法弄清楚什么是安全漏洞? Web应用程序和Images文件夹在同一台服务器上,那为什么不允许? – 2011-01-21 07:00:47

回答

3

如果图像不在虚拟目录中,则无法显示图像。 试着在你的应用程序文件夹本身中保留,或者如果它不可行,那么让你的文件夹将图像作为虚拟目录存放在IIS中,并将其挂载到应用程序文件夹中。

这里就是你需要做的(方式,我喜欢)什么,

  1. 打开IIS管理器。
  2. 在网站下的连接选择您的网站并右键点击它。
  3. 从上下文菜单中选择添加虚拟目录....
  4. 在打开的对话框中输入您选择的别名名称,如**`“GlobalImages”**
  5. 浏览您想要的文件夹的物理路径并选择它并单击确定。

你将它可用于在该网站相对URL。像

www.example.com/GlobalImages

当您设置IIS中,它会自动添加到您的解决方案的项目。

这里是MSDN链接,如果你想..做

http://msdn.microsoft.com/en-us/library/ms751432.aspx

0

最简单的事情可能是建立一个handler和使用通用映像名称。虽然本地,指向D :.在服务器上时,指向Web路径。 (至少只要你不把它们保存在虚拟目录中)。

0

为了获取这一点,我们总是写图像或其他资源的绝对目录。但是如果Web服务器中的资源,我使用相对目录。