MVC asp.net 从网络文件夹加载图像
Posted
技术标签:
【中文标题】MVC asp.net 从网络文件夹加载图像【英文标题】:MVC asp.net Load Image from network folder 【发布时间】:2015-12-05 09:58:00 【问题描述】:我正在开发一个 ASP.NET Razor 网站。 现在在我的视图中,我想显示一个存储在我们网络中已发布文件夹中的图像。
我将图像的绝对路径保存为如下字符串:
\\my-server\publishes_folder\folder1\img00001.jpg
如何在视图中显示图像?当我检查源代码时,我看到了路径,因此图像是从我的服务器相对传出的。 有关信息,此文件夹中有大约 35.000 个不同的图像,因此在我的项目中复制它们不是解决方案。但是对于每个图像,我都将路径作为字符串。 我能做些什么?有什么浪涌吗?
【问题讨论】:
您可以像在任何 html 文件中一样使用 html 标签 和属性 href。你有什么理由不能这样做? 我试过了,但是他没有解析绝对路径。我得到了类似“webserver/myabsolutepath”的东西。 您的应用程序的权限如何?该应用程序可以访问该文件夹吗?你检查了吗? 我会说虚拟目录将是第一次尝试。如果这被证明太成问题,请创建一个充当该目录代理的操作(例如,Image/Get/foo.jpg
是 Image 控制器上的一个 Get 操作,它会生成一个图像(从网络目录中检索到))
【参考方案1】:
您的图片位于客户端无法访问的服务器上。由于您不想复制图像并假设您可以访问 Web 服务器,因此您可以创建一个虚拟目录并将其指向您的服务器。然后,这将创建一个相对于您的网站的路径,允许您包含以下图像:
<img src= "@Url.Content(Model.ImagePath)" />
但是,虚拟导演确实会带来安全隐患。
How to: Create and Configure Virtual Directories in IIS 7.0
【讨论】:
以上是关于MVC asp.net 从网络文件夹加载图像的主要内容,如果未能解决你的问题,请参考以下文章
文件/图像上传后 ASP.NET 3.0 mvc 应用程序崩溃