ASP.NET MVC之读取服务器文件资源的两种方式

本文介绍了在ASP.NET MVC框架中两种加载图片的方法:一是通过控制器返回图片流;二是直接在视图中引用静态资源路径。第一种方法可能会占用较多内存,适合于对资源保护要求较高的场景;第二种方法则更为快捷方便。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初次认识asp.net mvc时,以为所有文件都需要走一遍路由,然后才能在客户端显示,

所以我首先介绍这一种方式

比如说:我们在服务器上有图片: ~/resource/image/5.jpg

我们就需要在控制器下新写:

(旨在当浏览器发出请求时,服务器内存读取图片文件,以图片流的方式传给浏览器)

        public ActionResult GetImg()
        {
            string strPath = Server.MapPath("~/Resource/Image/5.jpg");
            Image img = Image.FromFile(strPath);
            MemoryStream ms = new MemoryStream();
            img.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
            return File(ms.ToArray(),"image/jpeg");
        }

在视图下:

        <img src="/Home/GetImg" width="300" height="120" alt="正在加载..." />

运行程序即可得:

后台源码:

(补充:稍微会浪费一下内存,如果是以此类方式读取视频数据,测试时将会出现内存不足的情况)

其次介绍第二种方式

在视图下:

直接访问静态文件

        <img src="~/Resource/Image/5.jpg" width="300" height="120" alt="正在加载..." />

(补充:快捷迅速可变,只是在资源数据方面不易保护)

 

转载于:https://www.cnblogs.com/Kevinsh-Lee/p/8545401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值