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

最近在调试一个过去的项目,asp写的一个无组上传类,以前都测试通过的,本次发布却提示:
ADODB.Stream 错误 '800a0bbc' 

写入文件失败。 

/oa/UpLoadClass.asp,行 703 
发生此错误的系统是:Windows Server 2008 R2

开始以为是权限的问题,于是设置文件夹的权限,甚至给了Everyone完全控制的权限,结果还是不行;

相关错误代码行:
stream.SaveToFile fileName, 2
输出文件路径:

response.write "<br />fileName=" & fileName
指定的保存目录:

folderPath=C:\inetpub\wwwroot\oa\UpLoadFile
临时文件保存位置:
fileName=C:\inetpub\wwwroot\oa\UpLoadFile\2019\1\2851107108ad_0.tmp 
通过路径可以发现,多了几层目录,这是什么呢?

这涉及到下面的函数:
Public Function GetNewUploadID()
    dim dtstr
    dtstr = Replace(cstr(Date()), "-", "") & CStr(CLng(timer()*1000))
    GetNewUploadID = dtstr & GetRandomCode(20 - Len(dtstr))
End Function
通常我们cstr(Date())得到的数据格式是:2019-1-28,中间的分隔符是减号,而在Windows Server 2008 R2得到的格式是2019/1/28,在执行Server.MapPath时,就把它当成目录来处理了,由于对应的目录不存在,所以导致了这个问题。
找到原因,解决方法就自然明了了,把日期中的“/”也替换掉就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顺其自然~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值