asp版百度ueditor编辑器,在本地iis服务器上可以正常上传图片,上传到网络服务器,上传时出现错误。
用firebug检查响应:uploader.class.asp: fs中的代码。CreateFolder(路径)没有权限;经过分析测试,原来百度这个asp上传组件采用的是逐步检测文件夹的机制。
比如,如果物理地址是:e:\ website \ www.downcc.com \ upload \ image \ 2015 05 29 \,它会从e:开始检查是否存在,但是满足网络服务器设置相对安全。
不在当前网站的物理路径是不允许访问的,但是程序认为没有路径,于是执行下面的创建文件夹的操作,创建了一个e: folder。没有权限肯定会显示。其实问题是可以解决的。在检测过程中,首先获得该站点的根路径。
不需要检查这个,只需要检查这个站点的根路径下的文件夹是否存在。有一个具有一般权限的虚拟主机服务器。
修改百度asp上传组件uploader.class.asp中的CheckOrCreatePath流程如下:
PrivateFunctionCheckOrCreatePath(ByValpath)
Setfs=Server.CreateObject('Scripting.FileSystemObject')
Dimparts,serverpath
serverpath=lcase(Server.MapPath('/'))
path=replace(lcase(path),serverpath,'')
parts=Split(path,'')
path=''
ForEachpartinparts
path=path+part+''
Iffs.FolderExists(serverpathpath)=FalseThen
fs.CreateFolder(serverpathpath)
EndIf
Next
EndFunction
上传权限问题的完美解决。