返回首页

我写了一个逻辑流一通电话,在那里你可以把它保存图像。代码工作的网页浏览器上。但是,当我试图在手机上,将节省的形象,但我不能查看图像。我想在手机上的形象是太大。

当我保存的网页浏览器上的形象,我注意到图像的大小是2KB。在手机上的图像的大小是40KB。我复制,生成图像从网页浏览器的电话,我可以查看它。

我错过电话的东西吗?逻辑工作在手机上一样吗?


   string mappath = Server.MapPath(" /TestData/test.jpg");

                   //Server.MapPath(" /images/CommImages") + "\\";

                  Bitmap bitmap = new Bitmap(mappath);

             

 

                using (MemoryStream ms = new MemoryStream())

                {

                   

 

                    // Send the encoded image to the browser



                    Response.BufferOutput = false;   // to prevent buffering 

                    HttpContext.Current.Response.Clear();

                    HttpContext.Current.Response.ClearHeaders();

                    HttpContext.Current.Response.AddHeader("Content-Disposition",

                             "attachment; filename=USPSTest.jpg");

                    HttpContext.Current.Response.ContentType = "image/jpeg";

                    bitmap.SetPixel(10, 10, Color.Red);

                

                    bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

 

                 

 

                }

                bitmap.Dispose();

:4621605 |会员

回答

评论会员:游客 时间:2012/02/04
。可能的答案是,并非所有的JPEG文件是相同的:有更积极的压缩应用加载位图图像,然后发送下来,而不是尝试阅读使用File.ReadAllBytes文件,直接发送到手机,而不是使用Response.BinaryWrite-看看是否有改善的大小差异。然后再次尝试,改变你的单个像素和它之前和之后都编写到一个新的文件服务器端
会员4621605:感谢你的建议我会尝试它今天。我可以查看文件被下载到手机。该文件包含了当前的HTML页面,而不是图像。你为什么下载当前的HTML页面,而不是图像
评论会员:游客 时间:2012/02/04
会员:4621605|我想你的建议使用的file.ReadAllBytes,并将其发送直接使用Response.BinaryWrite.nbsp的;NBSP结果是same.nbsp下载的,而不是在image.nbsp当前HTML页面;NBSP图像文件是非常small.nbsp;