NAS用于在Web应用程序MVC中提供图像

时间:2016-09-12 03:38:19

标签: html asp.net-mvc nas

我有一个Nas,我将图像存储在Web应用程序中,但现在我需要检索它们。我有图片标记显示:

SELECT
t1.`藥品代碼` AS ID,
t1.`藥價參考截止日期` AS tag,
t1.`藥價參考金額` AS `index`,
t1.`藥品英文名稱` AS index2,
t1.`藥價參考日期` AS index3,
t1.ATC_CODE AS index4
FROM
    `健保用藥品項查詢檔` AS t1
GROUP BY
ID
HAVING
id IS NOT NULL
ORDER BY
id ASC,
tag ASC

图像没有显示,但是当我右键单击firefox并查找图像信息时,图片显示在对话框中,但不显示在网站上。我在这里做错了吗?我正在使用MVC 4。

澄清这是一个过程: Web应用程序位于共享虚拟服务器上。服务器上可用的空间量不能用图像淹没,解决方案是将路径保存到数据库,将图像保存到网络中的NAS。我无法将图像保存到原始服务器,因为最终我们将为运行程序/ Web应用程序的服务器提供太多图像。

该过程是从数据库(指向NAS的路径)返回路径并使用它来抓取图片。

我想我只是错过了某种设置,但我不知道我是否正在寻找该团队中是否有人有过做这类事情的经验?我被困了几个小时。

1 个答案:

答案 0 :(得分:1)

创建一个通过标准Web请求处理图像返回的操作:

例如

public FileResult Image(string path)
{
    // get the image byte stream
    var file = File.OpenRead("NAS_DRIVE" + path)
    var mime = // work out the mime type based on extentsion (file.Extension)
    return new FileResult(file, mime);
}

然后在您的视图中使用类似

的内容
<img src="@Url.Action("Home", "Image", new {path = '06imagestore\RSVP\20141105_074252.jpg')" width="960">

如果对同一图像有许多不同的请求,您可能也希望查看缓存文件结果,只是为了加快速度。