- 十二月9日
-
今天碰到一个上传错误,搞的我一下午都很恼火,找了很多资料,终于找到了解决方法:
UPfile.asp里面的文件改了又改,就是不知道错在了哪里.....看了下面的文章,经过修改 恍然大悟.... 于是 我把 UPfile.asp里面的日期格式改成了"/" 成功!
原文如下,感谢作者:
Godaddy的ASP主机,都安装和调试好以后,程序上传出错,提示如下:
ADODB.Stream error '800a0bbc'
Write to file failed.
/admin/inc/upload_5xsoft.inc, line 175
个别的还有提示:
ADODB.Stream error '800a0bbc'
Write to file failed.
/UpLoad.asp, line xx
总之就是提示:ADODB.Stream error '800a0bbc'
错误原因分析:
1、目录权限问题,没有写权限或者目录不存在。
解决办法:给相应的目录增加写权限或建立相应文件夹。参考:
2、操作系统不同,造成了系统差异。
我们国内使用的多是中文操作系统,而Godaddy是英文操作系统。
参考:
一步步反向查上去,看看是哪里出了毛病,我用的是风声无组件上传strFnam=GetTimeStr()
这时用来生成随机文件名的。而在GetTimeStr()里有这么一句
GetTimeStr=strDate&lngTime
strDate在类初始化的时候就被赋值了
strDate = replace(cstr(Date()),"-","")
嘿嘿,我知道了,中文服务器里date()得到的时间是"2006-10-4",而英文服务器得到的是"10\4\2006"
就是这个该死的"\",ok,只要在后面加上一句
strDate = replace(strDate,"/","")
解决办法:将文件中的CHR()函数换成CHRW()
另外如果使用的是其他无组件上传,需要将strDate=replace(cstr(Date()),”-”,”")这句中的-改成/,也就是改成strDate = replace(strDate,”/”,”"),否则也会出现同样的错误提示。当然不一定有同样的字符,只需要找到“-”,”" 修改即可。
3、目录中文件超出指定数量。
因为文件夹中都有文件限制,Godaddy也不例外,正常godaddy的文件限制应该是1024的。所以还需要考虑是不是文件夹内的文件太多了导致了问题。
如果是这样的话 那就需要在上传文件的inc里,将上传目录做一个调整了!