【发布时间】:2016-10-20 20:24:08
【问题描述】:
由于我无法控制的原因,我被要求根据使用 UNC 路径的目录结构在网页(类似于画廊视图)上呈现一系列图像。您会注意到,我在处理此问题时使用的是相对路径,但将使用 UNC 约定部署站点。
我已经创建了以下部分视图来渲染图像,我可以稍后进行格式化。
@model System.Collections.Generic.List<string>
@foreach (var image in Model)
{
<div id="ptImage">
<img src="@image" alt="@Path.GetFileName(image)"/>
</div>
}
其中@image 表示需要渲染的图像的绝对路径。
页面视图源中显示的路径是我觉得我应该期待的,并在本地真正定义了图像的位置。当通过相对路径访问图像时,这是其他人所期望的吗?
<div id="gImg">
<img src="C:\Projects\Test_Site\Site_1\ES3\ES3_0.bmp" alt="ES3_0.bmp" />
</div>
<div id="gImg">
<img src=" C:\Projects\Test_Site\Site_2\ES4\ES4_0.jpg" alt="ES4_0.jpg" />
</div>
加载局部视图时,我只看到图像的替代文本,而不是图像本身。查看 IIS Express 日志告诉我以下信息:
http://localhost:1348/TestGallery/ 404 0 2 6, This resource 让我明白404 0 2 x 似乎表示找不到资源。
既然确实是文件的路径,那么 IIS 期望什么作为有效输入来定位资源?我不知道如何表达这个问题以进行进一步的搜索。
【问题讨论】:
-
我认为是权限问题。尝试在图像标签中使用真实路径,例如
标签: c# asp.net-mvc iis-6 unc