C#的Response.BinaryWrite图片乱码问题

  今天学习Response对象,该对象的有很多的输出方式,其中有一个binaryWrite可以输出图片,但是在输出图片一开始出现了乱码,后来通过百度得到解决;

代码:

       FileStream stream = new FileStream(Server.MapPath("./fff.jpg"),FileMode.Open);
            long FileSize = stream.Length;
            byte[] Buffer = new byte[(int)FileSize];
            Response.ContentType = "image/jpg";
            stream.Read(Buffer,0,(int)FileSize);
            stream.Close();
           Response.BinaryWrite(Buffer);
           Response.Write(Server.MapPath(@"Images\fff.jpg"));

注意红色部分是后来添加上的,添加这一句之后问题得到解决,另外一个问题是Server.MapPath()指定到根目录,比如我的项目叫Web01,那么这里的路径到

(自定义项目目录)\Web01\Web01\Images\fff.jpg;

时间: 2024-10-23 14:42:51

C#的Response.BinaryWrite图片乱码问题的相关文章

Response.BinaryWrite()方法输出二进制图像

protected void Page_Load(object sender, EventArgs e) { FileStream fs = new FileStream(Server.MapPath("未命名.jpg"), FileMode.Open);//将图片文件存在文件流中 long fslength = fs.Length;//流长度 byte[] b=new byte[(int)fslength];//定义二进制数组 fs.Read(b, 0, (int)fslength)

在FireFox/IE下Response中文文件名乱码问题解决方案

在FireFox/IE下Response中文文件名乱码问题解决方案 作者: 字体:[增加 减小] 类型:转载 只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所帮助 发现很多园子里的人在处理Response下载文件名是使用这个方法 Response.AppendHeader("Content-Disposition

Requset和Response中的乱码问题

在我们的日常开发中,乱码问题,还是比较经常遇到的,有时候是浏览器端提交的数据到后台乱码了,有时候是后台响应的数据到前台浏览器端展现出现乱码了.下面我们将通过几个简单的例子来说明乱码的由来和解决方式. 一.前台提交的数据到后端乱码了 1.前台采用post方式提交,后端乱码 ①jsp提交数据页面代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="

多种下载文件方式 Response.BinaryWrite(byte[] DocContent);Response.WriteFile(System.IO.FileInfo DownloadFile .FullName);Response.Write(string html2Excel);

通过html给xls赋值,并下载xls文件 一.this.Response.Write(sw.ToString());System.IO.StringWriter sw = new System.IO.StringWriter(); this.Response.Clear();            string strFileName;            strFileName = "报表" + ".xls";            Response.Buff

Servlet------&gt;request和response控制编码乱码问题

我在request篇和response都有提到,觉得会忘记,所以从新整理一下 request细节四----->通过request控制编码问题 第一种方式是通过设置------>request.setCharacterEncoding("UTF-8")和URLEncoder.encode(username, "UTF-8");//只有post生效 第二种方式是通过设置------>(post,get通用的情况) String username=new

HighChart利用servlet导出中文PNG图片乱码问题解决

最近用到HighChart作图,在图片导出时,出现了图片中中文乱码的问题,在网络上找了很多资料,但都没有解决,最后才发现了最容易被忽略的问题.具体见下. 由于之前有同事使用过HighChart,所以毫不犹豫了之前同事使用的方法:通过自己书写servlet,利用batik工具完成不同格式图片的导出,具体方法见下: @RequestMapping(value = "/save_image", method = RequestMethod.POST) public void saveImag

response读取图片+下载图片

读取图片 import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.URLEncoder; import javax.servlet.ServletException; import javax.servlet.http.HttpSer

eclipse打开图片乱码解决方案

系统升级win10后,eclipse打开图片都默认使用txt文本打开,结果肯定乱码. 解决方案一:将图片拖到桌面->打开方式->其他->使用图片打开(下面勾选以后都这样打开). 解决方案二:点击Window- preference-general-editors-file associations,上面添加.JPG(图片格式为png就为.PNG,以此类推),下面添加打开方式PhotoViewer.FileAssoc.Tiff,就可以打开jpg不乱码了

[javaEE] response实现图片下载

在Servlet中的doGet()方法中 获取FileInputStream对象,new出来,构造参数:String的文件路径 得到文件路径,调用this.getServletContext().getRealPath(“这里是应用根路径”) 调用HttpServletResponse对象的getOutputStream()方法,得到OutputStream对象 正常读取和写入流 输入流可以关闭,输出流不要关闭 此时图片会直接显示出来,并没有出现下载 使用http协议头Content-Dispo