今天在试着用vs中response.binarywrite方法将图片已二进制流的形式输出到客户端时,一直失败..图片总是已乱码的形式存在...

<span style="font-family:Microsoft YaHei;">            //打开图片,保存在流中
            FileStream fs = new FileStream(Server.MapPath("pic.jpg"), FileMode.Open);
            //获得流的大小
            long filesize = fs.Length;
            //定义二进制数组
            byte[] Buffer = new byte[(int)filesize];
            //从流中读取字节块并将数据写入缓冲区
            fs.Read(Buffer, 0, (int)filesize);
            //关闭流
            fs.Close();
            //设定response类型
        //    Response.ContentType = "image/jpg";
            //输出流
            Response.BinaryWrite(Buffer);
</span>

最终的解决办法是,设置

Response.ContentType="image/jpg";

问题得到解决

图片 的常见存储与读取凡是有以下几种: 存储 图片 :以二进制的形式存储 图片 时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[]. 1.参数是 图片 路径:返回Byte[]类型: public byte[] GetPictureData(string imagepath) /**/////根据 图片 文件的路径使用文件流打开,并保存为byte[] FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法 byte[] byData = new byte[fs.Length]; fs.Read(byData, 0, byData.Length); fs.Close(); return byData; }2.参数类型是Image对象,返回Byte[]类型: public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto) //将Image转换成流数据,并保存为byte[] MemoryStream mstream = new MemoryStream(); imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp); byte[] byData = new Byte[mstream.Length]; mstream.Position = 0; mstream.Read(byData, 0, byData.Length); mstream.Close(); return byData; }好了,这样通过上面的方法就可以把 图片 转换成Byte[]对象,然后就把这个对象保存到数据库中去就实现了把 图片 的二进制格式保存到数据库中去了。下面我就谈谈如何把数据库中的 图片 读取出来,实际上这是一个相反的过程。 读取 图片 :把相应的字段转换成Byte[]即:Byte[] bt=(Byte[])XXXX 1.参数是Byte[]类型,返回值是Image对象: public System.Drawing.Image ReturnPhoto(byte[] streamByte) System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte); System.Drawing.Image img = System.Drawing.Image.FromStream(ms); return img; }2.参数是Byte[] 类型,没有返回值,这是针对asp.net中把 图片 输出 到网页上( Response . BinaryWrite ) public void WritePhoto(byte[] streamByte) // Response .ContentType 的默认值为默认值为“text/html” Response .ContentType = "image/GIF"; // 图片 输出 的类型有: image/GIF image/JPEG Response . BinaryWrite (streamByte); 针对 Response .ContentType的值,除了针对 图片 的类型外,还有其他的类型: Response .ContentType = "application/msword"; Response .ContentType = "application/x-shockwave-flash"; Response .ContentType = "application/vnd.ms-excel";另外可以针对不同的格式,用不同的 输出 类型以适合不同的类型: switch (dataread("document_type")) case "doc": Response .ContentType = "application/msword"; case "swf": Response .ContentType = "application/x-shockwave-flash"; case "xls": Response .ContentType = "application/vnd.ms-excel"; case "gif": Response .ContentType = "image/gif"; case "Jpg": Response .ContentType = "image/jpeg"; 码产生的原因:不管是request 码还是 response 码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的。以request 码为例:浏览器向服务 原因:请求行的字符集是属于服务器的字符集,tomcat8以后都默认字符集UTF-8 请求头 ,会在cookie数据会出现 码 原因: cookie的数据都是从服务器的响应携带出来的,并且响应是一个 输出 流, 输出 缓冲区有字符集。 请求体 ,只有Post请求方式才有请求体,在服务器获得请求体参数时会出现 码 原因:字符集为 ISO8859-1 字符集 - 流 响应头 ,文件下载的时...   今天学习 Response 对象,该对象的有很多的 输出 方式,其中有一个 binaryWrite 可以 输出 图片 ,但是在 输出 图片 一开始出现了 码,后来通过百度得到解决;        FileStream stream = new FileStream(Server.MapPath("./fff.jpg"),FileMode.Open); long FileSiz... 尽管ASP.NET提供了一个强壮的平台,但是开发者也不应忽视诸如JavaScript这样成熟的技术。在这篇文章中,Tony Patton将向您解释在Web开发中如何将JavaScript与ASP.NET控件进行整合。   尽管Web开发平台提供了灵活性和众多功能,您经常希望或需要依赖现有的技术来完成一项必须的任务,一个好的例子就是ASP.NET,它提供了一个强大的开发平台,但是同时也不应忽略像J protected void Page_Load(object sender, EventArgs e) FileStream fs = new FileStream(Server.MapPath("未命名.jpg"), FileMode.Open);//将 图片 文件存在文件流中 long fslength = fs.Le... 我们经常将文件上传到数据库中,比如Sql Server中.然后在下载的时候,用的比较多的也就是 Response . BinaryWrite ()方法,然而如果直接 输出 的话,其文件名总是为你的页面的文件名,如downLoadFile.aspx.其解决方法为:  1 Page. Response .Buffer=true;   2 Page. Response .Clear();   3 //这里的Content... asp php 一起使用的SHELL 工具 <HTML><HEAD> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>PHP+ASP</title> </HEAD>...br> 本文主要讲述 response 码原因及 response .setCharacterEncoding(&amp;amp;amp;quot;UTF-8&amp;amp;amp;quot;)不生效的原因及解决方法 一、 response 码 1、首先, response 返回有两种,一种是字节流outputstream,一种是字符流printwrite。 申明:这里为了方便起见,所有 输出 都统一用UTF-8编码。... 这时候如果传输的数据是中文, 输出 到浏览器就会 码原因:首先,要知道 码的根本原因是什么, 码的根本原因在于编码和解码使用的字符集不一样。那么在从服务器 输出 数据到客户端的过程中,有几次编码和解码过程?又分别是在哪里执行的? import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.serv...