日期:2014-05-19  浏览次数:20364 次

[100分求助]向Response.OutputStream输出图片时,为什么只有bmp文件出错?
//生成一个临时文件
string   strTmpFile   =   System.IO.Path.GetTempFileName();

//从临时文件生成一个Stream
System.IO.Stream   objStream=System.IO.File.Open(strTmpFile,System.IO.FileMode.Open);

//把图片输出到Stream中,bytImage数组中存储了我的图片
objStream.Write(bytImage,   0,   bytImage.Length);

//从Stream中加载到Image对象
System.Drawing.Image   img   =   System.Drawing.Image.FromStream(objStream);

//输出类型:image/jpeg   image/gif   image/bmp  
Response.ContentType   =   Common.Photo.MimeTypeFromImageFormat(img.RawFormat);

/*
输出到Response.OutputStream
如果图片文件是bmp格式了就会出错:GDI+产生一般性错误
但其它文件格式如:gif/jpg都没有问题
*/
img.Save(Response.OutputStream,   img.RawFormat);

objStream.Close();
Response.Flush();
img.Dispose();


求助各位

------解决方案--------------------
根据不同的格式指定不同的imgFormt
------解决方案--------------------
你确定 你的.bmp文件 确实是图片文件 而且是.bmp格式
而不是 别的文件 改了 后缀名?
------解决方案--------------------
对对 楼上说的有道理
------解决方案--------------------

------解决方案--------------------
帮顶!