1

我在这个 asp.net mvc 3 项目上工作,直到现在我们使用本地资源来模拟现实生活中的数据。现在,由于项目取得的进展,所有资源(就这个问题而言是图像)都被移动到删除服务器上的目录中。

所以直到现在我在我的剃刀视图中有这个代码来在屏幕上显示一个图像:

<img src= "@Url.Content("~/Content/" + Model[i].FieldValue)" alt="Logo" />

现在我必须使用新目录,您可以在我尝试更新我的代码并使其与新设置一起使用时看到该路径

<img src= "@Url.Content("\\\\85.53.1.107\\East\\upload\\"+Model[i].FieldValue)" alt="Logo" />

所以实际地址是\\85.53.1.107\East\upload\。更改代码以继续显示图片的正确方法是什么?就像现在我只看到图像的名称而没有它的扩展名。

4

1 回答 1

1

我认为您应该对带有 Web 服务器的 url 使用 http 请求,例如

"http://85.53.1.107/East/upload/"

而且我还会将此路径放在 webconfig 文件中,因此每次我必须使用图像时都不必重复此操作,也许使用自定义 url 扩展名,因此调用如下所示:

<img src="@Url.ImagePath(Model[i].FieldValue)" />

使用此扩展名:

public static class UrlExtensions
{
  public static string ImagePath(this UrlHelper helper, string imageFileName)
  {
    return helper.Content(string.Format("{0}/{1}", ConfigurationManager.AppSettings["ImagesBasePath"],  imageFileName));
  }
}

和 webconfig 文件中的密钥:

<configuration>
    <appSettings>
        ...
        <add  key="ImagesBasePath" value="http://85.53.1.107/East/upload/" />
    </appSettings>
</configuration>

如果您的应用程序有权访问 85.53.1.107 服务器,您可以使用服务器名称设置密钥:

    <add  key="ImagesBasePath" value="\\NAME_OF_SERVER\East\upload\" />
于 2013-05-23T11:05:30.250 回答