18631817090
ueditor虚拟主机下图片上传失败,请重新上传
发表日期:2021/1/12  作者:勤快牛网络 浏览:

ueditor虚拟主机下图片上传失败,请重新上传

使用百度ueditor编辑器本地上传图片成功,使用ecs也不会出现此类的问题。将程序部署到虚拟主机下,上传图片提示“图片上传失败,请重新上传”。

出现此问题的原因是因为ueditor编辑器没有考虑到服务器的安全配置,但在绝大多数虚拟主机上,它都无法上传图片,这是一个坑爹的货。

在上传不了图片时,如果有你权限查看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在虚拟主机中不能上传图片的问题,本文就介绍这么多,希望对您有所帮助,谢谢!