2023-04-05 04:21:06 阅读( 1923)
在本地iis服务器上可以正常上传图片的asp版百度ueditor编辑器,上传到网络服务器上,使用上传时错误,用firebug查看响应:uploader.class.asp中代码:fs.CreateFolder(path)无权限;经分析和测试,原来百度这个asp上传组件是采取逐级检测文件夹的机制,如:物理地
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
上传权限问题的完美解决。
猜你喜欢
Guessyoulike