常见问题 您现在的位置是:网站首页 > 常见问题

  在本地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

  完美解决上传权限问题。


  曾经win2008服务器操作系统,iis6.1也碰到过在ASP百度编辑器上传图片时提示“上传失败,请重试”的错误问题,用以上方法未能解决问题,用的方法如下,修改编辑器下asp下的uploader.class.asp文件中代码,替换的代码如下:

    Private Function CheckOrCreatePath( ByVal path )

        Set fs = Server.CreateObject("Scripting.FileSystemObject")

        Dim parts

        parts = Split( path, "/" )

        path = ""

        For Each part in parts

            path = path + part + "/"

            If fs.FolderExists( path ) = False Then

                fs.CreateFolder( path )

            End If

        Next

    End Function

End Class

  替换保存后,立刻解决问题,特整理了这篇文章记录下来,下次再碰到就好处理了。也希望能给大家带来方便。


  另外,百度编辑器在上传图片文件时,显示“文件大小超出”的完美解决方案如下:

怎么修改百度编辑器Ueditor的附件上传大小,调整上传文件大小限制,在asp文件夹下的config.json里面进行设置,找到上传图片配置项参数imageMaxSize,这里默认是2048000,也就是2M,可以设为例如50M,51200000,具体的根据自己的需求进行设置即可。