在本地iis服务器上可以正常上传图片的asp版百度ueditor编辑器,上传到网络服务器上,使用上传时错误,用firebug查看响应:uploader.class.asp中代码:fs.CreateFolder(path )无权限;经分析和测试,原来百度这个asp上传组件是采取逐级检测文件夹的机制,如:物理地址为:e:/website/xxxx/upload/image/20150529/,它会从e:检测是否存在,但遇到网络服务器设置的比较安全的,不在当前网站的物理路径是不允许访问的,但程序认为是不存在路径,从而执行下面的创建文件夹的操作,建e:文件夹?肯定会显示无权限。
其实问题也好解决,在检测过程中,先把本站所在根路径获取到,这个就不用检测了,只用检测本站根路径下的文件夹是否存在就好了,这个权限一般的虚拟主机服务器是有的,把百度的asp上传组件uploader.class.asp里的CheckOrCreatePath过程修改如下:
Private Function CheckOrCreatePath( ByVal path ) Set fs = Server.CreateObject("Scripting.FileSystemObject") Dim parts,serverpath serverpath=lcase(Server.MapPath("/")) path=replace(lcase(path),serverpath,"") parts = Split( path, "/" ) path = "" For Each part in parts path = path + part + "/" If fs.FolderExists( serverpath & path ) = False Then fs.CreateFolder(serverpath & path ) End If Next End Function
完美解决上传权限问题。
另解决方法:已测试成功
ueditor上传到网站时不能上传图片或附件等时:
文件夹asp中有个文件uploader.class.asp,其中有个检查或创建路径的子程序Private Function CheckOrCreatePath( ByVal path ),在这段程序中有两句 parts = Split( path, "/" )和path = path + part + "/",你把这两句中的反斜杠都改成“/”,也就是这两句最后应当分别是parts = Split( path, "/" )和path = path + part + "/",这样就可以了。

asp版百度ueditor在线编辑器上传图片错误(无权限问题修复)标题图片