uediotr是一个很好用的所见即得得的编辑器,百度出品,我们就信赖了。但在绝大多数虚拟主机上,它都无法上传图片,这是一个坑爹的货。

在上传不了图片时,如果有你权限查看web访问日志,你可以看一个“拒绝访问”的错误。洪哥仔细调试分析,终于找到问题所在。

在它的upload.class.asp中,有如下一个函数:

    Private Function CheckOrCreatePath( ByVal path )

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

        Dim parts

        parts = Split( path, "\" )

        For Each part in parts

            path = path + part + "\"

            If fs.FolderExists( path ) = False Then

                fs.CreateFolder( path )

            End If

        Next

    End Function

将其修改如下:

    Private Function CheckOrCreatePath( ByVal path )

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

        Dim parts

        Dim root : root = Server.mappath("/") & "\"

        parts = Split( Replace(path, root, ""), "\" )

        path = root

        For Each part in parts

            path = path + part + "\"

            If fs.FolderExists( path ) = False Then

                fs.CreateFolder( path )

            End If

        Next

    End Function

上传的问题即可得到解决。

引起这个问题的主要原因是,大多数虚拟主机不会给IIS匿名账号访问磁盘上的非用户目录,连读取的权限都没有。

关于ueditor在虚拟主机中不能上传图片的问题,本文就介绍这么多,希望对您有所帮助,谢谢!

03-14 12:01