MVC、一般处理程序hanlder 输出图片文件

hanlder.ashx文件

[csharp] view plain copy

  1. public class Handler4 : IHttpHandler
  2. {
  3. public void ProcessRequest(HttpContext context)
  4. {
  5. #region 将图片转成Base64
  6. FileStream fs = new FileStream("I26S-1280x1024-s.jpg", FileMode.Open, FileAccess.Read);
  7. byte[] buffur = new byte[fs.Length];
  8. fs.Read(buffur, 0, (int)fs.Length);
  9. string strPic = Convert.ToBase64String(buffur);
  10. #endregion
  11. #region 将Base64转成byte[]
  12. byte[] buffurPic = Convert.FromBase64String(strPic);
  13. #endregion
  14. context.Response.ContentType = "image/jpeg";
  15. context.Response.Clear();
  16. context.Response.BufferOutput = true;
  17. context.Response.OutputStream.Write(buffurPic, 0, buffurPic.Length);
  18. context.Response.Flush();
  19. }
  20. public bool IsReusable
  21. {
  22. get
  23. {
  24. return false;
  25. }
  26. }
  27. }

页面文件

[html] view plain copy

  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title></title>
  5. <script src="js/jquery.js"></script>
  6. </head>
  7. <body>
  8. <script language="JavaScript">
  9. $(document).ready(function () {
  10. $(‘#img1‘).attr(‘src‘, ‘/Handler/Handler4.ashx‘);
  11. });
  12. </script>
  13. <img id="img1" src="" />
  14. </body>
  15. </html>

MVC Action方法

[csharp] view plain copy

  1. public ActionResult GetImg()
  2. {
  3. #region 将图片转成Base64
  4. FileStream fs = new FileStream("I26S-1280x1024-s.jpg", FileMode.Open, FileAccess.Read);
  5. byte[] buffur = new byte[fs.Length];
  6. fs.Read(buffur, 0, (int)fs.Length);
  7. string strPic = Convert.ToBase64String(buffur);
  8. #endregion
  9. #region 将Base64转成byte[]
  10. byte[] buffurPic = Convert.FromBase64String(strPic);
  11. #endregion
  12. return File(buffurPic, "image/jpeg");
  13. }

页面文件

[html] view plain copy

  1. @{
  2. Layout = null;
  3. }
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta name="viewport" content="width=device-width" />
  8. <title>PicShow</title>
  9. <script src="~/jquery/jquery.min.js"></script>
  10. <script language="JavaScript">
  11. $(document).ready(function () {
  12. $(‘#img1‘).attr(‘src‘, ‘@Url.Action("GetImg", "Selector")‘);
  13. });
  14. </script>
  15. </head>
  16. <body>
  17. <img id="img1" /><br /><br />
  18. <img id="img2" src="@Url.Action("GetImg", "Selector")" />
  19. </body>
  20. </html>
时间: 2024-08-27 04:30:52

MVC、一般处理程序hanlder 输出图片文件的相关文章

读写图片文件源码

package com.cqhope.read; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** * 操作图片文件类. * @author yanghaita

Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题,那就是程序数据都已经查询出来了,但界面样式仍然十分丑陋,加载不了 css,js,图片等资源文件.当你在浏览器上直接输入某个css文件的路径时,直接得到404错误,而路径肯定没有错,其原因就在于在web.xml 中配置了类似如下的 spring servlet: 程序代码 <servlet>    <servlet-name&g

C++学习笔记之输入、输出和文件

一.流的概念 数据从内存的一个地址移动到另一个地址称为数据流动——流操作 流操作是通过缓冲区(buffer)机制实现的. 缓冲区:内存的一块区域——用作文件与内存交换数据. 数据从文件中读出:文件 → 缓冲区 → 内存 将数据写入文件:内存 → 缓冲区 → 文件 为什么要使用缓冲区而不直接从文件中读取数据到内存或者直接有内存写入文件呢?我们的文件通常都存在磁盘中,程序从磁盘读取一个字符需要大量的硬件活动,速度非常慢.缓冲方法则从磁盘上读取大量信息,将这些信息存储在缓冲区,然后每次从缓冲区里读取一

Apache日志不记录图片文件设置方法和来源日志的配置

Apache日志不记录图片文件设置方法 <FilesMatch "\.(ico|gif|jpg|swf)">SetEnv IMAG 1</FilesMatch>CustomLog logs/access_log combined env=!IMAG Apache日志,如果记录所有访问请求,文件会很大:如果使用日志分析软件,分析结果不一定准确.而且如果不安装cronolog工具来截断日志,会在一个整文件中,这样访问量一高,日志文件所占空间是可观的. 通过在http

.Net Core 图片文件上传下载

当下.Net Core项目可是如雨后春笋一般发展起来,作为.Net大军中的一员,我热忱地拥抱了.Net Core并且积极使用其进行业务的开发,我们先介绍下.Net Core项目下实现文件上传下载接口. 一.开发环境 毋庸置疑,宇宙第一IDE VisualStudio 2017 二.项目结构 FilesController 文件上传下载控制器 PictureController 图片上传下载控制器 Return_Helper_DG 返回值帮助类 三.关键代码 1.首先我们来看Startup.cs

使用spring mvc+localResizeIMG实现HTML5端图片压缩上传

最近在做一个移动端HTML5的应用,使用到了上传功能,起初使用传统的上传方式上传手机拍照的照片,由于手机拍照出来的照片一般都是好几MB, 所以上传速度是非常慢的. 在网上找了很久找到了localResizeIMG压缩框架,感觉非常的实用,所以在此分享给大家. 第一步:下载localResizeIMG localResizeIMG放在github中的,地址是:https://github.com/think2011/localResizeIMG. 第二步:在web工程中导入localResizeI

解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题

问题: 我在ubuntu14.04下用python中的matplotlib模块内的pyplot输出图片不能显示中文,怎么解决呢? 解决: 1.指定默认编码为UTF-8: 在python代码开头加入如下代码 import sys reload(sys) sys.setdefaultencoding('utf-8') 2.确认你ubuntu系统环境下拥有的中文字体文件: 在终端运行命令"fc-list :lang=zh",得到自己系统的中文字体 命令输出如下: /usr/share/fon

div中粘贴图片并上传服务器 div中拖拽图片文件并上传服务器

应用简介:此文主要是描述如何在前端div中直接ctrl+v 粘贴图片,并上传到服务器,包括拖拽图片文件到div中 应用场景描述:用QQ或者其它切图软件截图,在指定的div中ctrl+v 粘贴并显示,点击上传按钮,图片上传到服务器.类似实现了此功能的网站有 知乎,强力建议博客园实现此功能,                     写博客时插入图片方便的多. 适用环境:本代码目前适用谷歌浏览器,其它浏览器需要稍微改良一下即可,问题不大. 开发环境:vs2015 mvc 不说废话了,开始吧: 1:首先

[深入浅出WP8.1(Runtime)]生成图片和存储生成的图片文件

7.2.3 使用RenderTargetBitmap类生成图片 RenderTargetBitmap类可以将可视化对象转换为位图,也就是说它可以将任意的UIElement以位图的形式呈现.那么我们在实际的编程中通常会利用RenderTargetBitmap类来对UI界面进行截图操作,比如把程序的界面或者某个控件的外观生成一张图片. 使用RenderTargetBitmap类生成图片一般有两种用途,一种是直接把生成的图片在当前的页面上进行展示,还有一种用途是把生成的图片当作文件存储起来,或者通过某