windows2008+iis7无组件上传写入文件失败ADODB.Stream 错误 800a0bbc问题.
现象:写入文件失败,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
以上所述是361源码网给大家介绍的windows2008+iis7无组件上传写入文件失败ADODB.Stream 错误 800a0bbc问题,希望对大家有所帮助。
当然出现“ADODB.Stream 错误 '800a0bbc' 写入文件失败”还有如下的可能性:
1、你要保存的文件名已存在,而未设置savetofile方法的覆盖属性。
2、路径没有用server.MapPath()映射,这种情况下:
如果路径为绝对路径,则发生上面的问题:写入文件失败。
如果路径为相对路径,则会保存到相对于:c://windows//system32的路径。(本机测试结果)。
3、和错误 '80070070' 一样,空间不足, 引起这个800a0bbc错误。
4、服务器目录不支持写入,或者需要写入的目录不存在 。
等等,可能本站没有能总结完善,欢迎广大网友提供更多完善的可能。
以上就是ADODB.Stream 错误 '800a0bbc' 写入文件失败的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答