解决:ADODB.Stream 错误 800a0bbc 写入文件失败

网络整理 - 07-26

    重装更改目录为e盘后,上传文件出现问题。解决方法:


    调用adodb.stream的savetofile方法时发生错误, ADODB.Stream 错误 800a0bbc 写入文件失败。


    原因可能是:


    1、你要保存的文件名已存在,而未设置savetofile方法的覆盖属性。


    2、路径没有用server.MapPath()映射,这种情况下:
    如果路径为绝对路径,则发生上面的问题:写入文件失败。
    如果路径为相对路径,则会保存到相对于:c:\\windows\\system32的路径。(本机测试结果)。


    3、和错误 '80070070' 一样,空间不足, 引起这个800a0bbc错误。


    4、服务器目录不支持写入,或者需要写入的目录不存在 。


    在使用化境的上传组件,若网站在服务器的根目录,通常是不会遇到此类问题的,遇到此问题往往是网站是以二级目录方式存放在服务器IIS内,化境的上传路径默认是根目录,因此必须修改化境的上传保存文件的路径,也就是提示出错的ASP网页ManageAddSave.asp→我的出错网页名),而不是提示 “dr.SaveToFile FullPath,2”写入出错所在的文件(UpFile.inc.inc→我的化境无组件上传文件名),将提示出错的网页打开,修改上传文件保存路径 “formPath="/UploadFile/NewsFile"'得到上传目录”,如:你的网站存放的二级目录为‘web2’,路径则改为: “formPath="/web2/UploadFile/NewsFile"'得到上传目录”,至此,问题解决上传成功!


    5、老问题有出现,这次的原因是上传的过程中,server.mappath 中上传目录前不能加“/”,原来是 “/upload/11111”改为 "upload/1111"


    6、2009年6月12日调试ll上机考试,又出现这个错误,总结原因是上传目录formpath为“test/upload/”,因为本次虚拟目录设置为test路径,所以相应修改:


    upfile.asp   


    1) formpath=“test/upload/”,--> formpath=upload/"


    2) if fso.FolderExists("e:/jiaoling-zuoye/javatest/test/upload/"&session("CurUserId"))=false then
       fso.CreateFolder("e:/jiaoling-zuoye/javatest/test//upload/"&session("CurUserId"))
       end if


    注意虚拟目录对应文件夹的位置修改e:/jiaoling-zuoye/javatest