快速登录:  
为何选择我们
  • 7年优质服务经验
  • 10万用户的共同选择
  • 更低的价格更好的服务
  • CNNIC四星级认证服务商
  • 拥有正规经营许可证(ICP)
  • 先进的解析技术10分钟生效
  • 6组DNS负载均衡更快更稳定
  虚拟主机域名注册-常见问题虚拟主机问题 → 虚拟主机问题


windows2008+iis7,无组件上传写入文件失败,ADODB.Stream 错误 800a0
作者:豪杰域名主机

现象:写入文件失败,ADODB.Stream 错误 800a0bbc

条件:在已排除一般的解决方法文件夹权限后,并且服务器为windows2008

希望写这文章可以让大家避免浪费太多时间,最快地解决问题。

 

一个ASP程序用到无组件上传,在本地XP SP3 IIS5.1及在Windows Server 2003 + IIS6.0上测试均为可以正常上传.到把程序放了windows2008+IIS7.0上发现内部服务器错误500,最后我把其调为可显示详细错误信息,显示为:

写入文件失败,ADODB.Stream 错误 800a0bbc

 

我在网上找了很多相关的解决方法,说是文夹权限或是目录问题,很显然碰到的并非为权限问题.看了很多解决方法都没用,在差不多绝望的时候,竟然看到一篇文章说windows2008显示系统时间的格式竟然是:2010/5/24,而并非是以前的2010-5-24,由于重命名上传的文件是按时间来命名的,本要求为

2010524.xls,但到windows2008平台上最后变成了2010/5/24.xls,这样则会有一个问题,就是会被当成文件夹和路径处理,最终会导致了真正的不存在目录,最后会写入出错。

如果可以,你可以试一下response.write 写出整个另存为的路径出来即可看到如:***/uploadfile/2010/5/24.xls,而且实际应该为::***/uploadfile/2010524.xls才是正确的

 

解决方法:

只要为“2010/5/24”中的“/”替换为“”(空)即可:

 

原uploadsave.asp中的函数为:

function makefilename(fname)
  fname = date()
  fname = replace(fname,"-","")
  fname = replace(fname," ","") 
  fname = replace(fname,":","")
  makefilename=fname&".xls"
end function

 

在其中加上一句:fname = replace(fname,"/","")

最后为:

function makefilename(fname)
  fname = date()
  fname = replace(fname,"-","")
  fname = replace(fname,"/","")
  fname = replace(fname," ","") 
  fname = replace(fname,":","")
  makefilename=fname&".xls"
end function

 

最后测试,上传成功。




来源: 豪杰互联
阅读:1724
日期:2013-02-23

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:java主机链接access数据库的替代方案
下一篇:magento安装失败的处理办法
  >> 相关文章
 
CNNIC四星级注册服务机构证书营业执照 网上警察 联系在线客服豪杰互联官方QQ有问必答
《中华人民共和国增值电信业务经营许可证》编号:B2-20080058号
西部数码 | 西部数码代理 | 西部数码虚拟主机 | 西部数码域名注册 | 西部数码VPS | 西部数码云主机 | 西部数码企业邮局 | 西部数码数据库