解决FCKEditor XML Request Error:Internal Server Error(500)办法
原来一直能用的ecshop后台信息发布里面的fckeditor上传功能,换了个机器后不能用了。以为是文件损坏,上传一边不行。
什么xml错误,还弹出一个大的JavaScript alert警告框,内容就是服务器端错误的500内容
网上搜,又说是配置问题,主题问题,想想都不应该,直接请求
代码如下 | 复制代码 |
filemanager/connectors/php/connector.php |
出了服务器的500错误,html文件能访问,txt也行。
后来从根目录开始查,发现到fckeditor目录里面的php文件开始不能访问。
改了fckeditor目录的属性为755,问题解决。
问题二
网上很多人提到,后来发布的FCKeditor2.3以后的版本,要设置fckeditoreditorfilemanagerconnectorsaspx目录下的connector.aspx,和upload.aspx里的加入theme="",但经本人测试,这样还是不行,仔细看提示的错误,原来根本没有那么复杂,其实就是你的上传文件夹设置不对,首先要确认你的文件夹有写入的权限,然后再web.config里面要注意写入路径的设置,~/表示当前站点的根目录,/表现的文件所在电脑的根目录,建议根据你的文件结构,选择第一种设置。
原来是主题惹的祸:
因为ASP.NET2.0新增了Theme功能,所以如果在你的工程中你对Web.config使用到了styleSheetTheme或theme的话那就要再多修改一下。
还是到FCKeditor所在的目录,分别打开editorfilemanageruploadaspxupload.aspx和editorfilemanagerbrowserdefaultconnectorsaspxconnector.aspx两个aspx文件,在page标签中添加Theme=”"或StyleSheetTheme=”"看你在工程使用的是什么就修改什么。修改后如下:
代码如下 | 复制代码 |
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" Theme="" %> |
或
代码如下 | 复制代码 |
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" StylesheetTheme="" %> |
这样就解决了500的内部错误。
国外网站
After Download You Change This Lines In FileWorkerBase.cs
代码如下 | 复制代码 |
protected string UserFilesDirectory { get { if ( sUserFilesDirectory == null ) { // Get the local (server) directory path translation. this.UserFilesPath sUserFilesDirectory = Server.MapPath(string.Format("{0}{1}","~","/UserFiles/")); } return sUserFilesDirectory ; } } |
Now Buid Project And Change The Refrence To FredCK.FCKeditorV2.dll (Refrence Again)
代码如下 | 复制代码 |
After Building This Changes And Adding Project Go To fckconfig.js and Change like This Lines var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php |
问:为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了?
答:这是由于你在你的表单提交页面中使用了 session_start 函数。该函数会强制当前页面不被缓存。解决办法为,在你的 Session_start 函数后加入
代码如下 | 复制代码 |
header("Cache-control: private"); |
注意在本行之前你的PHP程序不能有任何输出。
还有基于session的解决方法,在session_start前加上
代码如下 | 复制代码 |
session_cache_limiter('nocache');// 清空表单 session_cache_limiter('private'); //不清空表单,只在session生效期间 session_cache_limiter('public'); //不清空表单,如同没使用session一般 |
还有一种自己用的方法,利用cookie来实现,用户输入数据时就保存到了cookie如果出错就把cookie的值返回
常用的ajax方法,这种在局部提交了自然就不需要后退一这说了。
业务需要把一个html页面中的内容导出到excle文件里面,一个常用的方法是在需要导出的jsp页面中增加:代码如下 | 复制代码 |
response.setContentType("application/vnd.ms-Excel; charset=gb2312"); response.setHeader("Content-disposition","attachment;filename=excel文件名.xls"); |
但是经常遇到会把身份证等数字比较长的数据改成科学计数法来显示。
用IE的用户,如果一个html页面有table的话,可以把table导出到excle文件里面,但是经常遇到会把身份证等数字比较长的数据改成科学计数法来显示。很是头疼。
有说加个单引号可以解决,但是我这里测试,显示和导出的结果都有单引号。效果不好。
同事找到一个解决方案比较好。
在html页面里面加上一段css
然后在出现问题的字段应用这种style就可以了。
测试通过。神奇
代码如下 | 复制代码 |
<style type="text/css"> |
原来css还有这种功效啊,把上面代码放在要导入的html页面中就解决的了这些办法。
开启FCKeditor编辑器的图片上传功能及解决图片路径问题,有需要的同学可参考一下。1. 打开网站后台编辑器里的admin/editor/fckconfig.js这个文件
找到FCKConfig.ImageUpload = false 这句,把false改成true就行啦。
FCKConfig.ImageBrowser = false ; 这里也同样把false改成true
2. 看一下admin/editor/editor目录下面的filemanager文件夹是否存在,如果不在就去下载一个2.6.3版本以上的fck编辑器,把里面的filemanager文件夹复制过来。当然这里是ASP的,所以其他语言像PHP什么的文件夹可以删除。
3. 接下来设置文件上传的路径,打开admin/editor/filemanager/connectors/asp文件夹的config.asp这个文件进行如下设置
ConfigIsEnabled = True 是否开启上传功能
ConfigUserFilesPath = “../../../../../uploads/” 文件上传目录,相对于该文件夹
这里要重点指出的ConfigUserFilesPath = “../../../../../uploads/”这里如果这样设置,我最后发现两个问题
A. ConfigUserFilesPath = “../../../../../uploads/”这样设置虽然图片可以上传,但插入编辑器里的图片路径是有问题的,所以我试了很多次最后把它改成ConfigUserFilesPath = “/uploads/”就可以了。如果您的网站是放在下级文件夹里也可以这样设置ConfigUserFilesPath = “文件夹名称/uploads/”。
B. 至于第二个问题,我感觉好奇怪,FCKeditor编辑器的图片路径会出现两个斜杠//,虽然图片也能显示,但看起来总归不舒服。请打开admin/editor/editor/ filemanager/connectors/asp文件夹里的,io.asp这个文件,请把:
function CombinePaths( sBasePath, sFolder)
CombinePaths = RemoveFromEnd(sBasePath, "/") & "/" & RemoveFromStart( sFolder, "/")
end function
改成
function CombinePaths( sBasePath, sFolder)
sFolder = replace(sFolder, "", "/")
CombinePaths = RemoveFromEnd(sBasePath, "/") & "/" & RemoveFromStart( sFolder, "/")
end function
4. 最后设置上传后的图片自动改名,请打开admin/editor/editor/ filemanager/connectors/asp文件夹里的commands.asp这个文件
在文件中添加如下语句
dim rannum
dim dtnow
dim getnewfilename
dtnow=now()
randomize
rannum=int(90*rnd)+10
getnewfilename=year(dtnow) & right("0" & month(dtnow),2) & right("0" & day(dtnow),2) & right("0"& hour(dtnow),2) & right("0”"& minute(dtnow),2) & right("0" & second(dtnow),2) & rannum
并将
sFileName = ouploader.file("newfile")name
改为
sFileName = getnewfilename &"."& split(ouploader.file("newfile").name,".")(1)
完成效果.:
OK 是服务器返回的信息,非ckeditor自带.
最后,如果能在上传成功后直接调用Info的onChange方法的话,是最完美的..可是我始终调用不了这个方法...
完毕,各位自己去测试吧. 另在image.js中有些方法也可以自己改动,如onOK-->表示在点击确定时会触发的方法
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况:
(1) 打开新窗口
如果指定cache-control的值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如:
Cache-control: max-age=5
表示当访问此网页后的5秒内再次访问不会去服务器
(2) 在地址栏回车
如果值为private或must-revalidate(和网上说的不一样),则只有第一次访问时会访问服务器,以后就不再访问。如果值为no-cache,那么每次都会访问。如果值为max-age,则在过期之前不会重复访问。
(3) 按后退按扭
如果值为private、must-revalidate、max-age,则不会重访问,而如果为no-cache,则每次都重复访问
(4) 按刷新按扭
无论为何值,都会重复访问当指定Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。
另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问:
Expires: Fri, 31 Dec 1999 16:00:00 GMT
相关文章
- 我们这里介绍php与KindEditor编辑器使用时如何利用KindEditor编辑器的分页功能实现文章内容分页,KindEditor编辑器在我们点击分页时会插入代码,我们只要以它为分切符,就...2016-11-25
vue项目页面嵌入代码块vue-prism-editor的实现
这篇文章主要介绍了vue项目页面嵌入代码块vue-prism-editor的实现,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-30如何在Spring WebFlux的任何地方获取Request对象
这篇文章主要介绍了如何在Spring WebFlux的任何地方获取Request对象,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下...2021-01-26C#中HttpWebRequest、WebClient、HttpClient的使用详解
这篇文章主要介绍了C#中HttpWebRequest、WebClient、HttpClient的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25- 本案例非通用,仅作笔记以备用 修改后的结果是 百度编辑器里上传的图片路径为/d/file/upload1...2014-07-03
python爬虫用request库处理cookie的实例讲解
在本篇内容里小编给大家整理的是一篇关于python爬虫用request库处理cookie的实例讲解内容,有需要的朋友们可以学习参考下。...2021-02-21- js 检测判断fckeditor是否为空 <!-- 用一般的js是不可能获取 fck 编辑器内容的是否有值的,我们得用 FCKeditorAPI接口来实例--> <!DOCTYPE html PUBLIC "-//W3C//DTD...2016-09-20
微信小程序 wx.request(object) API详解及实例代码
这篇文章主要介绍了微信小程序 wx.request(object) API详解及实例代码的相关资料,需要的朋友可以参考下...2016-10-02c# HttpWebRequest通过代理服务器抓取网页内容应用介绍
在C#项目开发过程中可能会有些特殊的需求比如:用HttpWebRequest通过代理服务器验证后抓取网页内容,要想实现此方法并不容易,本文整理了一下,有需求的朋友可以参考下...2020-06-25- 这篇文章主要介绍了如何在.Net版本UEditor中添加一个普通按钮,需要的朋友可以参考下...2021-09-22
解决偶现的MissingServletRequestParameterException异常问题
这篇文章主要介绍了解决偶现的MissingServletRequestParameterException问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-25- KindEditor编辑器调用方法,这个编辑器可使用到任何语言中,他是一个纯js的编辑器,但它默认的编辑是utf-8如果是gb2312编辑的朋友就是KindEditor.js打开,重保存为gb2312...2016-11-25
ASP.NET使用HttpWebRequest读取远程网页源代码
本文分享了一个使用HttpWebRequest读取远程网页的案例,供大家参考学习。...2021-09-22Asp.Net FckEditor在web.config中配置的具体实例
Asp.Net FckEditor在web.config中配置的具体实例,需要的朋友可以参考一下...2021-09-22- Request是一个Node.jsNPM模块,它是一个HTTP客户端,使用简单功能确十分强大...2017-05-09
php中time()与$_SERVER["REQUEST_TIME"]比较
简单的说time()与$_SERVER["REQUEST_TIME"]都是获得时间了,但time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME"]得到请求开始时的时间戳了了,稍有区别哦。 1)...2016-11-25failed to open stream: HTTP request failed
fopen他以采集远程服务器的内容保存到本地同时也可以打开本地的文件,是一个非常不错的函数,下面我们来看看关于在使用fopen函数时出现failed to open stream: HTTP reque...2016-11-25failed to open stream: HTTP request failed!
file_get_contents函数有时出错 failed to open stream: HTTP request failed! 地址是上面的,有些地址可以,有些就 failed to open stream: HTTP request failed!, file_...2016-11-25关于ThreadLocal对request和response的用法说明
这篇文章主要介绍了关于ThreadLocal对request和response的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-18JavaWeb入门:HttpResponse和HttpRequest详解
这篇文章主要介绍了Django的HttpRequest和HttpResponse对象,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下...2021-07-17