`

xhEditor demo : Ajax文件上传

阅读更多

具体参考xhEditor 手册和压缩包中demo08.html几种示例

 

下载xhEditor,主要是让文件夹xheditor_emot、xheditor_plugins、xheditor_skin和文件xheditor-zh-cn.min.js保持在同一个目录中。我都放在了xheditor文件夹中

 

html

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>xhEditor demo8 : Ajax文件上传</title>
<link rel="stylesheet" href="common.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="xheditor/xheditor-zh-cn.min.js?v=1.1.3"></script>
<script type="text/javascript">
$(pageInit);
function pageInit()
{
	$('#elm1').xheditor({upLinkUrl:"upload.php",upLinkExt:"zip,rar,txt",upImgUrl:"upload.php",upImgExt:"jpg,jpeg,gif,png",upFlashUrl:"upload.php",upFlashExt:"swf",upMediaUrl:"upload.php",upMediaExt:"wmv,avi,wma,mp3,mid",shortcuts:{'ctrl+enter':submitForm}});
}
function insertUpload(arrMsg)
{
	var i,msg;
	for(i=0;i<arrMsg.length;i++)
	{
		msg=arrMsg[i];
		$("#uploadList").append('<option value="'+msg.id+'">'+msg.localname+'</option>');
	}
}
function submitForm(){$('#frmDemo').submit();}
</script>
</head>
<body>

<form id="frmDemo" method="post" action="show.php">
	<h3>xhEditor demo8 : Ajax文件上传</h3>
	1,普通上传模式:<br />
	<textarea id="elm1" name="elm1" rows="12" cols="80" style="width: 80%">
<!--网页编辑器中的内容-->
	</textarea><br /><br />
<input type="submit" name="save" value="Submit" />
	<input type="reset" name="reset" value="Reset" />
</form>
</body>
</html>

 

当前实例调用的Javascript源代码为:

$('#elm1').xheditor({upLinkUrl:"upload.php",upLinkExt:"zip,rar,txt",upImgUrl:"upload.php",upImgExt:"jpg,jpeg,gif,png",upFlashUrl:"upload.php",upFlashExt:"swf",upMediaUrl:"upload.php",upMediaExt:"avi"});

 

请确保当前目录中的upload.php有相应的PHP执行权限,若您使用的是其它的服务器脚本语言,请自行对初始化参数中的upLinkUrl、upImgUrl、upFlashUrl和upMediaUrl进行修改,并开发相应服务器上传接收程序。

注:upload.php仅为演示代码,若您希望在自己的项目中实际使用,请自行修改代码或者重新开发,开发过程中请注意上传文件的格式及大小限制,注意服务器安全问题。

上传接收程序开发规范:
1,上传文件域名字为:filedata
2,返回结构必需为json,并且结构如下:{"err":"","msg":"200906030521128703.gif"}
若上传出现错误,请将错误内容保存在err变量中;若上传成功,请将服务器上的绝对或者相对地址保存在msg变量中。
编辑器若发现返回的err变量不为空,则弹出窗口显示返回的错误内容。


上传管理方案建议:
1,在编辑器初始化时在upload.php后面跟上一个服务器生成的绝对唯一的跟踪值,例如:upload.php?infoid=121312121
2,在服务器接收程序中以这个跟踪值保存到数据库中,同样可以限制单个跟踪值下总上传文件数或者总文件大小,否则就是一个可以上传无限个文件的漏洞了
3,最终当前表单提交时,再根据编辑器提交的HTML内容和数据库中上传内容进行比较,删除所有没有使用的上传文件
4,定期由服务器脚本删除上传数据库中没提交的文件记录,这样就能防止别人将您的网站作为免费相册空间了

 

 

注:

我用的是struts2文件上传,在不同的浏览器生成的request header不一样,会造成上传文件失败。经测试,Opera和IE可以。

分享到:
评论

相关推荐

    很好用的ajax在线编辑器xheditor

    XHEditor是一款功能丰富的JavaScript富文本编辑器,主要用于网页中的内容编辑,支持Ajax方式提交编辑内容。它以其便捷性、易用性和高度可定制性在Web开发领域得到了广泛应用。XHEditor的设计理念是提供一个简单且...

    xhEditor编缉器下使用java上传的类文件

    xhEditor编缉器,用于java开发时,上传文件,同时解决了在火狐上使用时报错的问题,主要是因为火狐上传时使用的是HTML5,如何解决请花1分吧!! 记得把xheditor里的上传改成servlet的路径呀!!

    xheditor-1.1.14

    参数值:接收用户上传的服务器端程序URL,默认留空为禁用超链接上传功能,具体使用方法请参考demo8演示文件 注:可使用内置变量:{editorRoot},代表当前编辑器的根路径,例:{editorRoot}upload.php upLinkExt:...

    yii2-xheditor:Yii2 的 XhEditor 所见即所得小部件

    添加 " yiier/yii2-xheditor " : " * " 到应用程序的composer.json文件的 require 部分。 也加这个^_^ " repositories " :[ { " type " : " vcs " , " url " : " https://github.com/yiier/yii2-xheditor " } ],...

    xheditor编辑器实现图片上传

    在IT行业中,富文本编辑器是网页开发中...总的来说,实现XHEditor编辑器的图片上传功能,需要结合前端的XHEditor配置和后端的文件处理逻辑。理解这一过程有助于我们在实际开发中更好地运用富文本编辑器,提升用户体验。

    xhEditor文件上传的Java实现.pdf

    xhEditor文件上传的Java实现 xhEditor是基于JavaScript的在线富文本编辑器,它提供了多种实用的功能,如文本编辑、图片上传、文件上传等。以下是xhEditor文件上传的Java实现的相关知识点: xhEditor简介 xhEditor...

    ASP.NET应用Xheditor上传图片 jquery-1.11.0

    在提供的文件列表中,“XheditorUpload”可能是用于存放Xheditor上传图片时的服务器端代码,而“说明.txt”则可能包含详细的步骤说明或者关键配置信息。 总结来说,这个项目是关于如何在ASP.NET环境中利用Xheditor...

    xhEditor struts2实现图片上传

    总结来说,结合xhEditor和Struts2实现图片上传,主要步骤包括:配置xhEditor的上传参数,创建Struts2 Action处理上传请求,处理上传文件并返回结果。这个过程涉及到前端JavaScript交互、HTTP请求处理以及服务器端...

    JQuery+XHEditor例子(含上传)

    本实例将详细介绍如何在项目中集成和使用XHEditor,以及实现文件上传功能。 首先,**XHEditor** 是一个高效且强大的富文本编辑器,它提供了许多常见的编辑功能,如字体样式、颜色设置、插入图片和链接等。由于其...

    可以插入本地图片的在线编辑器(xheditor)

    为了实现这一功能,xheditor 内部可能集成了自定义的服务器端处理逻辑,例如这里提到的 `UploadLocalPicAction.java` 文件,很可能就是用于处理图片上传的Java代码。 【标签】"xheditor" 和 "在线编辑器" 是对这个...

    xheditor v1.0.0 rc2 build 100401

    Ajax文件上传:http://xheditor.com/demos/demo08.html 插件扩展:http://xheditor.com/demos/demo09.html iframe调用文件上传:http://xheditor.com/demos/demo10.html 异步加载:...

    xheditor+requireJS+loadmask

    4. **异步提交数据**:使用jQuery的`$.ajax`方法或者`$.post`方法,异步将xheditor中的文本内容发送到服务器。例如: ```javascript $.ajax({ url: '/api/submit', type: 'POST', data: { content: $('#...

    xheditor-1.2.1(demo,js,api,doc)

    1. **Demo**:演示了XHEditor的各种功能和使用场景,包括基本编辑、图片上传、表格处理、HTML源码查看等,开发者可以通过这些实例快速了解编辑器的使用方法。 2. **JS**:这是XHEditor的核心JavaScript库,包含了...

    用于xheditor编辑器上传功能的配置文件

    用于xheditor编辑器上传功能的配置文件 upload.aspx,直接下载拷贝到项目根目录下即可。 里面的该行: string attachdir ="../upload"; 是上传路径,根据实际引用xheditor的页面位置,要进行相应的修改,要不然无法...

    xhEditor编辑器

    将下载的压缩文件解压缩,上传其中的xheditor-zh-cn.min.js以及xheditor_emot、xheditor_plugins和xheditor_skin三个文件夹到网站相应文件夹中。 注:如果您网站中没有使用jQuery框架,也请一并上传jquery文件夹中的...

    xheditor1.1.14

    - **图片上传**:XHEditor支持本地图片上传,但需要开发者自行配置服务器端的接收处理程序。 - **兼容性问题**:在某些老版本的IE浏览器中可能会遇到兼容性问题,可以通过增加Doctype或者调整CSS来解决。 - **...

    最好最轻便的编辑器xheditor简易配置实例

    它提供了丰富的编辑功能,如文字格式化、图片上传、链接插入等,同时支持AJAX本地上传文件,大大提升了用户的编辑体验。 ### XHEditor简介 XHEditor是一款基于JavaScript的WYSIWYG(所见即所得)在线文本编辑器,...

    xheditor-1.2.2.zip

    1. **下载与引入**:首先,你需要从官方或者可靠的源下载xheditor-1.2.2.zip文件,并解压到你的项目目录下。然后在HTML文件中引入编辑器的JavaScript和CSS文件。 2. **创建编辑区域**:在HTML中设置一个用于显示...

    xheditor-1.1.9文件

    《XHEditor-1.1.9:网页文本编辑器的深度解析》 在Web开发领域,用户交互体验是至关重要的元素之一,而文本编辑器则扮演着举足轻重的角色。XHEditor-1.1.9是这样一个工具,它为网页提供了强大的富文本编辑功能,...

Global site tag (gtag.js) - Google Analytics