2023jquery+php+ajax+plupload插件实现无刷新头像上传并预览功能

 更新 2023-03-24 浏览 521次

2023jquery+php+ajax+plupload插件实现无刷新头像上传并预览功能
描述:Plupload是一款由著名的web编辑器TinyMCE团队开发的上传组件,简单易用且功能强大,我们完全可以使用Plupload来代替以前的SWFUpload。
基础属性
详细介绍

Plupload有以下功能和特点:

1、拥有多种上传方式:HTML5、flash、silverlight以及传统的type=file” 。Plupload会自动侦测当前的环境,选择最合适的上传方式,并且会优先使用HTML5的方式。所以你完全不用去操心当前的浏览器支持哪些上传方式,Plupload会自动为你选择最合适的方式。

2、支持以拖拽的方式来选取要上传的文件

3、支持在前端压缩图片,即在图片文件还未上传之前就对它进行压缩

4、可以直接读取原生的文件数据,这样的好处就是例如可以在图片文件还未上传之前就能把它显示在页面上预览

5、支持把大文件切割成小片进行上传,因为有些浏览器对很大的文件比如几G的一些文件无法上传。

使用方法:

载入jQuery库文件和插件

<script type="text/javascript" src="jquery.js">script><script type="text/javascript" src="plupload/plupload.full.min.js">script>

初始化和配置、操作(主要看注释)

var uploader_avatar = new plupload.Uploader({//创建实例的构造方法
	runtimes: 'gears,html5,html4,silverlight,flash', //上传插件初始化选用那种方式的优先级顺序
	browse_button: ['avatar_uplpad_btn'], // 上传按钮
	url: "ajax.php", //远程上传地址
	flash_swf_url: 'js/plugins/plupload/Moxie.swf', //flash文件地址
	silverlight_xap_url: 'js/plugins/plupload/Moxie.xap', //silverlight文件地址
	filters: {
		max_file_size: '10mb', //最大上传文件大小(格式100b, 10kb, 10mb, 1gb)
		mime_types: [//允许文件上传类型
			{title: "files", extensions: "jpg,png,gif,jpeg"}
		]
	},
	multi_selection: false, //true:ctrl多文件上传, false 单文件上传
	init: {
		FilesAdded: function(up, files) { //文件上传前
			$("#avatar_pic").hide();
			$("#loading_bar").show();
			uploader_avatar.start();
		},
		UploadProgress: function(up, file) { //上传中,显示进度条var percent = file.percent;
			$("#percent").css({"width": percent + "%"});
			$("#percentnum").text(percent + "%");
		},
		FileUploaded: function(up, file, info) { //文件上传成功的时候触发var data = eval("(" + info.response + ")");//解析返回的json数据
			$("#avatar_pic").html("<img src="" + data.pic + "" class="">");
			$("#loading_bar").hide();
			$("#avatar_pic").show();
		},		Error: function(up, err) { //上传出错的时候触发
			alert(err.message);
			$("#loading_bar").hide();
		}
	}
});
uploader_avatar.init();

HTML部分:

<div class="avatar_area" style="margin:120px 0 0;text-align: center;min-height: 300px"><a href="javascript:void(0);"class="avatar_uplpad_btn" id="avatar_uplpad_btn">a><div id="avatar_pic" style="margin:30px 0 0"><img src="images/head.png"/>div><div id="loading_bar" style="display:none"><p id="updesc">图片上传中...p><span class="loading_bar"><em id="percent" style="width: 27%;">em>span><span id="percentnum">27%span>div>div>

上传格式的配置和路径的配置(ajax.php)

$typeArr = array("jpg", "png", "gif", "jpeg", "mov", "gears", "html5", "html4", "silverlight", "flash"); //允许上传文件格式$path = "uploads/"; //上传路径




相关内容