保存图片时出现800700de错误的解决方法
生活随笔
收集整理的這篇文章主要介紹了
保存图片时出现800700de错误的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
IE中打開網站圖片,右鍵-圖像另村為的時候-發生如下錯誤
---------------------------Windows?Internet?Explorer
---------------------------
由于出現錯誤?800700de?而導致此項操作無法完成。
---------------------------
確定???幫助???
---------------------------
我在服務器上分別用兩種方式輸出圖片都有如上錯誤
第一種方式為:Response.TransmitFile ,第二種方式為數據庫讀取img字段后用Response.BinaryWrite
最終找到的了問題所在,是因為http頭缺少Content-type信息,而不知道,導致錯誤發生,而且我在其它網站也碰到過類似問題。因為大部分圖片為數據庫中讀取,而且歷史原因導致他們都沒有文件名也不知道文件類型,所以需要自己判斷一下,可以根據文件頭來判別類型,具體方式如下:
首先從數據庫中讀取img字段數據,保存到byte[]中,步驟略去,假設byte[] buffer;
然后寫一段類似如下的代碼
string ?strFlag? = ?buffer[ 0 ].ToString()? + ?buffer[ 1 ].ToString();???????? string ?strFileType? = ? " image/{0} " ;
???????? switch ?(strFlag)
???????? ... {
???????????? case ? " 255216 " :
????????????????strFileType? = ? string .Format(strFileType,? " jpg " );
???????????????? break ;
???????????? case ? " 7173 " :
????????????????strFileType? = ? string .Format(strFileType,? " gif " );
???????????????? break ;
???????????? case ? " 6677 " :
????????????????strFileType? = ? string .Format(strFileType,? " bmp " );
???????????????? break ;
???????????? case ? " 13780 " :
????????????????strFileType? = ? string .Format(strFileType,? " png " );
???????????????? break ;
???????????? default :
????????????????strFileType? = ? string .Empty;
???????????????? break ;
????????}
???????? if ?( ! string .IsNullOrEmpty(strFileType))
????????????Response.AddHeader( " Content-type " ,?strFileType);
????????Response.BinaryWrite(buffer);
????????Response.End();
轉載于:https://www.cnblogs.com/cl1024cl/archive/2008/04/03/6204960.html
總結
以上是生活随笔為你收集整理的保存图片时出现800700de错误的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Javascript网页滚动方法
- 下一篇: cyico收集的关于utf8转换gb23