保存图片时出现"800700de错误"的解决方案
2010-07-17 14:42
399 查看
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();
---------------------------
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();
相关文章推荐
- 保存图片时出现"800700de错误"的解决方法
- 出现"会话状态已创建一个会话ID,但由于响应已被应用程序刷新而无法保存它" 解决方案
- FileUpLoad选择图片后,直接将图片显示在image中。及IE8本地路径("C:/fakepath/")出现问题的解决方案
- Win10下文件资源管理器选中文件(夹)没有出现"选中状态"的终结解决方案
- spring整合xfire出现Document root element "beans", must match DOCTYPE root "null"错误解决方案
- Win7共享打印机 出现 " 无法保存打印机设置 操作无法完成(错误 0x000006d9)"
- 在mac环境下创建cocos2d-x工程出现"permission Denied"的解决方案
- 网站出现"已有打开的与此命令相关联的 DataReader,必须首先将它关闭。"的解决方案
- SQLServer2008 的"阻止保存要求重新创建表的更改" 解决方案
- 修复 VS2008 asp.net 设计视图 -工具-选项-[Html设计视图]出现"加载此属性页时出错" 解决方案
- DALFactory出现"未能加载文件或程序集“Flashlm.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件”的解决方案
- DALFactory出现"未能加载文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件”的解决方案 .
- 关于android中出现"ADB server didn't ACK"这个问题解决方案
- 如果你想推荐本文到CSDN 技术中心,请选择下列的文章分类之一。文章保存时将自动提交到CSDN技术中心,通过审核后本文将出现在您的CSDN 技术中心的专栏中。如果您不希望本文被提交到CSDN技术中心,请选择"不发表到CSDN技术中心"。注:还没有C
- java写"\n"写入到txt文本用记事本打开出现黑框解决方案
- 解决方案: sqlserver 2008登陆时, 出现服务器主体 "xxxcom" 无法在当前安全上下文下访问数据库 "db_xxx_com"。
- F5当刷新页面,出现“要再次显示此页,web该浏览器,你曾经有过发送消息再次提交...点击重试",如何防止此对话框解决方案的出现,
- 关于IE登录FTP站点,选择"保存密码"后,登录窗口不在出现的解决方法
- word2003保存时,出现"语音识别的数据丢失"的问题
- FCKeditor关于图片上传出现错误“ 提示没有权限 Type=Image” 以及出现"this connector is disabled Please check the"editor/filemanager/connectors/aspx/conf