使用mvc模式读取服务器上的文件,ASP.NET MVC之读取服务器文件资源的两种方式

本文探讨了ASP.NET MVC中初次接触时的两种图片文件访问方式:路由获取与直接访问静态文件。第一种方式通过Controller操作,可能导致内存占用问题;第二种方式更高效,但安全性较低。作者提供了两种方法的优缺点和适用场景。
摘要由CSDN通过智能技术生成

初次认识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");

}

在视图下:

正在加载...

运行程序即可得:

8aa619a3c3c2f79ca6d875aebcea64b6.png

后台源码:

dba4b3fcfd28d0612da3b149680f19d9.png

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

其次介绍第二种方式

在视图下:

直接访问静态文件

正在加载...

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值