如何将图像存储到网络中的文件夹并在视图中引用它们 - asp.net mvc

时间:2014-03-26 21:58:46

标签: asp.net-mvc image knockout.js

我的应用程序(asp.net mvc knockout)有一项功能,其中管理员用户可以上传.png或.jpg文件并将其绑定到实体。目前,我的应用程序中的所有图像都存储在“\ Images \ Icons”下根应用程序文件夹但是由于策略将图像保存到Webserver中的文件夹是不允许的,因此必须将它们移动到网络“\ XYZ.net \ Shared \ AppName \ Images \ Icons”中的共享文件夹。现在,当实体细节与图像一起显示在视图上时,不会显示图像。 Fiddler显示400 Bad请求错误,URL - GET http://localhost:52624/ApplicationName/%5CXYZ.net%5CShared%5CAppName%5CImages%5CIcons%5CAbc.png HTTP/1.1

有任何解决此问题的提示吗?


旧代码:在Layout.cshtml中

<script type="text/javascript"> var BASE_URL = '@Url.Content("~/")';</script>
In View:
<!-- ko if: Icon() -->
   <img data-bind="attr: {src : BASE_URL + 'Images/Icons/' + Icon()}" />
<!-- /ko -->

新代码:

var IMG_URL = '\\XYZ.net\\Shared\\AppName\\';
<!-- ko if: Icon() -->
    <img data-bind="attr: {src : IMG_URL + 'Images\\Icons\\' + Icon()}" />
<!-- /ko -->

2 个答案:

答案 0 :(得分:0)

您有几个选择:

  • 在IIS上添加虚拟目录以指向网络驱动器。
  • 在服务器上,拦截对特定路线的呼叫(例如http://www.myserver.com/images)。处理请求并使用Response将文件推送到客户端。

这不是可以在客户端上完成的事情。

答案 1 :(得分:0)

我想补充一下Adam Zuckerman的回答,你可能在访问localhost上的文件时遇到问题。您可能需要将localhost主机设置为可信站点。