帮别人做一个文章管理系统,需要使用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、问题应该解决了,刷新后重试