在MVC下如何返回图片
来源:互联网 发布:网络问卷有什么问题 编辑:程序博客网 时间:2024/05/18 00:49
这几天忙着一些小事,也没有写什么了,今天,我们来玩一个比较简单的东东。就是在MVC下如何返回图片,相信,在传统WebForm下,大家都晓得怎么弄,方也不限于一种,但是,在架构较为严格的MVC里面,刚开始接触的朋友,可能不太清楚如何实现。
首先,我们应当从控制器入手,昨天有位朋友问我,控制器一般不都是return View的吗?那怎么返回图片? 当然,Controller类也没有return Image 的,上次我们的例子是返回JSON,其实我们可以让其返回一个文件流,一开始我也想过使用ViewData,但这个在视图页面上只能通过服务器端代码来操作,如果希望用JS,就不那么好办了。
Controller类有一个File方法,当然,它有N个重载,而且返回的对象不一样,这里我们要找到返回FileContentResult类型的File方法,因为,我测试过,在<img>元素中,src属性不能读取到FileStreamResult对象的内容,是空白的,所以,不能返回FileStreamResult来获取。
请参考下面代码,不复杂,我先画一个矩形,然后在矩形上画一些文字,然后返回。
public ActionResult GetImg() { Bitmap bmp = new Bitmap(350, 500); Graphics g = Graphics.FromImage(bmp); g.Clear(Color.Bisque); g.FillRectangle(Brushes.Red, 50, 2, 100, 100); g.DrawString("学习MVC", new Font("黑体", 15f), Brushes.Yellow, new PointF(50f, 5f)); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); g.Dispose(); bmp.Dispose(); return File(ms.ToArray(), "image/jpeg"); }注意,这个方法定义在你的控制器中,属于一个Action。
在前台页面,我们这样处理。
<img src="/Home/GetImg" alt="预览">
下面是效果展示:
这样,我们就可以在需要的时候通过JS来操作了,比如,返回随机图片,或者验证码什么的。
阅读全文
0 0
- 在MVC下如何返回图片
- ASP.NET误人子弟教程:在MVC下如何返回图片
- 在MVC项目中如何显示图片
- 如何在spring mvc中上传图片并显示出来
- 如何在spring mvc中上传图片并显示出来
- Android中,如何实现在图片上添加返回功能
- android中如何在得到返回数据后设置图片
- Spring MVC在maven下用$ajaxFileUpload()上传图片
- 如何在WINCE5.0下显示图片
- 如何在WINCE5.0下显示图片
- 如何在QT下打开一张图片
- 在ASP .NET MVC下如何做日志
- 在IIS 5.1下如何部署ASP.NET MVC 程序
- MVC架构下,如何在View中获取ViewName
- 在ASP.NET的MVC下如何做日志
- 求助:如何在mvc下获取 header 以及 payload?
- Spring MVC返回BLOB类型的图片
- 怎样让spring mvc 返回图片
- 压缩文件RAR和ZIP的区别
- 使用ngrok部署本地项目,实现外网访问
- valgrind manual
- 在Windows下使用CMake+MinGW搭建C/C++编译环境
- java遍历删除windows下的指定文件夹下面的相同格式或指定格式的file文件
- 在MVC下如何返回图片
- 欢迎使用CSDN-markdown编辑器
- 设置Grails中的domain的字段默认是否允许为空
- windows平台上在matlabR2017a中编译LibSVM--VS2017
- 50道JAVA基础编程练习题(1)
- shell基本
- 在linux上的tomcat创建虚拟目录
- 【转载】OpenGL入门学习
- 使用Scanner类