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 (MVC) 服务图像

文件/图像上传后 ASP.NET 3.0 mvc 应用程序崩溃

Asp.net MVC:上传多个图像文件?

使用 FileResult 在 Asp.Net MVC 中下载任何类型的文件?

403 禁止:Asp.net MVC

ASP.Net MVC 5 图像上传到文件夹