帮别人做一个文章管理系统,需要使用web在线文本编辑器,百度之后发现ueditor功能还是挺齐全的,随用之,但是最后在上传图片时提示“上传错误”,遂谷歌,得大神方法解决之。
原因分析:
1、可能由于服务器IIS上传文件大小限制产生错误
2、服务器文件夹权限限制问题
2、程序+服务器内部问题,需调试后方可发现
PS:很多人可能会使用NETBOX搭建简易ASP服务器,但是经本人测试,在NETBOX下无论如何调试,图片始终无法成功上传,所以建议大家使用windows自带IIS搭建ASP服务器
问题解决:
一、修改服务器上传文件大小限制
依次打开 : IIS管理器=》网站=》站点=》ASP=》限制属性
将“最大请求实体主体限制”值改为:10240000
上传大小限制解除
二、解决服务器文件夹权限限制
PS: 仅限在个人PC上操作,不建议在企业服务器上操作这一步
依次打开:IIS管理器=》网站=》站点=》编辑权限=》安全=》高级=》添加=》选择主体=》高级=》立即查找=》Authenticated Users=》确定=》确定=》确定
三、解决程序+服务器内部问题
PS:不是怀疑Ueditor 有BUG,而是怀疑自己机器可能对Ueditor兼容性不是很好,此方法是谷歌上找到的,实在找不到原创作者博客URL,遂未填写引用声明,还望见谅。
PS:请在尝试此方法前备份原文件
在使用VS2013对 ASP 服务器进程添加调试进程,经检查后发现在“ueditor/asp/uploader.class.asp” 此文件中的“CheckOrCreatePath”执行时产生“文件已存在”异常。遂谷歌“ueditor 图片上传错误 CheckOrCreatePath” 后找到“njwenku”的解决方法。
1、使用文件编辑器[不推荐记事本]将“ueditor/asp/uploader.class.asp”内“CheckOrCreatePath”函数注释掉,然后添加新函数:
Public Function CreateDir(ByVal crDirname)
Dim M_fso
CreateDir=False
Set M_fso = CreateObject("Scripting.FileSystemObject")
If (M_fso.FolderExists(crDirname)) Then
CreateDir=False
Else
M_fso.CreateFolder(crDirname)
CreateDir=True
End If
Set M_fso = Nothing
End Function </code>
<code> Function CheckOrCreatePath(byval LocalPath) '建立目录的程序,如果有多级目录,则一级一级的创建
on error resume next
LocalPath = replace(LocalPath,"","/")
set FileObject = server.createobject("Scripting.FileSystemObject")
patharr = split(LocalPath,"/")
path_level = ubound(patharr)
for i = 0 to path_level
if i=0 then pathtmp=patharr(0) & "/" else pathtmp = pathtmp & patharr(i) & "/"
cpath = left(pathtmp,len(pathtmp)-1)
if not FileObject.FolderExists(cpath) then FileObject.CreateFolder cpath
next
set FileObject = nothing
if err.number<>0 then
CreateDIR = false
err.Clear
else
CreateDIR = true
end if
End Function
2、问题应该解决了,刷新后重试