首页 >> 技术文章 >> 详细内容
完美解决windows2008+ii7上传写入文件失败的问题

错误:在windows2008+ii7的运营环境中,上传写入文件失败,ADODB.Stream 错误 800a0bbc

条件:在已排除一般的解决方法文件夹权限后,分析得出以下结论

 

一个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

 

最后测试,上传成功。

南京服务器托管 | 南京服务器租用 | 南京网站建设 | 南京企业建站 | 南京服务器代维 | 虚拟主机 | 顶级域名 | 网站优化 | 网站推广 | 南京中绘谷网络数据中心467.cn
| 整理发布 | TEL:13913852884,025-58633651,QQ:21390019 

发布者:admin 发布时间:2013-2-24 阅读:2310

Baidu
Copyright © 2002-2020 467.Cn All rights reserved    南京华昊网络技术有限公司    版权所有
备案序号:苏ICP备13052121号    ISP经营许可证:苏B2-20080166    ICP/SP经营许可证:苏B2-20130350      苏公网安备 32011102010099号
地址:南京市江北新区大桥北路77号电信大楼5楼    电话:025-58633651(8线)  13913852884  传真:025-58497310    E-mail:467cn@163.com    邮编:210032
网址:Www.467.Cn    QQ在线支持:点击这里给我发消息 点击这里给我发消息