一款多图片上传插件:plupload,通过PHP+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并立即显示在页面上。
首先我们在页面上放置个上传按钮,使用POST提交到ajax.php。#ul_pics 用来显示上传完毕后的图片。
<a class="btn" id="btn">上传图片</a> 最大500KB,支持jpg,gif,png格式。
<ul id="ul_pics" class="ul_pics clearfix"></ul>
接着,加载jQuery.js和plupload.full.min.js插件。
<script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script>
<script type="text/javascript" src="plupload/plupload.full.min.js"></script>
当点击按钮“上传图片”后,弹出选择文件对话框,按 "ctrl" 选择多图片上传。然后调用 uploader.start() 方法,开始上传。上传中间过程我们可以用 UploadProgress 方法来显示文件进度,最后通过 FileUploaded 来显示对应的图片。通过浏览器控制台,会发现上传一张图片,会向后台ajax.php请求一次。
var uploader = new plupload.Uploader({ //创建实例的构造方法
runtimes: 'html5,flash,silverlight,html4',
//上传插件初始化选用那种方式的优先级顺序
browse_button: 'btn',
// 上传按钮
url: "ajax.php",
//远程上传地址
flash_swf_url: 'plupload/Moxie.swf',
//flash文件地址
silverlight_xap_url: 'plupload/Moxie.xap',
//silverlight文件地址
filters: {
max_file_size: '500kb',
//最大上传文件大小(格式100b, 10kb, 10mb, 1gb)
mime_types: [ //允许文件上传类型
{
title: "files",
extensions: "jpg,png,gif"
}]
},
multi_selection: true,
//true:ctrl多文件上传, false 单文件上传
init: {
FilesAdded: function(up, files) { //文件上传前
if ($("#ul_pics").children("li").length > 30) {
alert("您上传的图片太多了!");
uploader.destroy();
} else {
var li = '';
plupload.each(files,
function(file) { //遍历文件
li += "<li id='" + file['id'] + "'><div class='progress'><span class='bar'></span><span class='percent'>0%</span></div></li>";
});
$("#ul_pics").append(li);
uploader.start();
}
},
UploadProgress: function(up, file) { //上传中,显示进度条
$("#" + file.id).find('.bar').css({
"width": file.percent + "%"
}).find(".percent").text(file.percent + "%");
},
FileUploaded: function(up, file, info) { //文件上传成功的时候触发
var data = JSON.parse(info.response);
$("#" + file.id).html("<div class='img'><img src='" + data.pic + "'/></div><p>" + data.name + "</p>");
},
Error: function(up, err) { //上传出错的时候触发
alert(err.message);
}
}
});
uploader.init();
多图片上传演示:
http://www.sucaihuo.com/js/3.html
分享到:
相关推荐
在多图片上传中,Ajax实现了用户选择图片后即时发送到服务器,而无需刷新整个页面。 **实现过程:** 1. **前端界面**:使用HTML5的`<input type="file" multiple>`创建多选文件输入框,jQuery监听其`change`事件,...
当用户通过Ajax上传文件时,PHP脚本会将文件保存到这个目录中。 在实际应用中,为了提高用户体验,还会使用Progress事件来显示上传进度条,以及使用FormData对象来处理文件数据。同时,考虑到安全性,应确保文件...
在这个文件中,我们使用的是jQuery的1.4.1版本,尽管现在有更新的版本,但1.4.1仍然能够支持基本的Ajax上传功能。jQuery的核心函数如`$(document).ready()`用于在页面加载完成后执行代码,`$.ajax()`用于发起Ajax...
在头像上传预览插件中,jQuery用于监听文件输入元素的变化,当用户选择图片后,即时读取文件并创建一个预览图。通过`event.target.files`可以获取到用户选择的文件对象,然后使用`FileReader` API的`readAsDataURL()...
AJAX上传则允许在后台处理文件,避免了页面刷新,提高了用户体验。 6. **CutAndUpload**:这个文件名可能代表项目的核心功能实现,包括客户端的图片剪裁脚本和服务器端处理图片上传的代码。可能包含HTML页面、CSS...
在这个实例中,“html5+jquery+canvas 实现调用手机拍照上传图片”利用了HTML5的File API、jQuery库以及Canvas元素,实现了用户通过手机摄像头拍照并即时上传图片的功能。 1. **HTML5 File API**:File API提供了...
4. 图片显示:图片上传后,可能需要在页面上即时显示。这可以通过HTML的`<img>`标签实现,jQuery可以用来动态更改`src`属性,加载新上传的图片。 5. 自由裁剪或编辑图片:Flash可能包含了图片裁剪和编辑的用户界面...
在本节内容中,我们将深入探讨如何使用PHP、jQuery和Ajax技术实现一个无需刷新页面即可上传多张图片的效果。具体来说,我们会通过jQuery插件jquery.wallform.js来简化前端操作,同时由PHP后端脚本upload.php负责处理...
该压缩包文件“PHP实例开发源码—jQuery+html5图片上传并裁切预览 php版.zip”包含了一个使用PHP、jQuery和HTML5技术实现的图片上传和裁切预览功能的实例。这个实例对于理解如何在Web应用中处理图片上传、前端预览...
在实际开发中,我们可能会用到一些第三方库,比如`ajaxfileupload.js`,这是一个专门用于文件上传的JavaScript库,它简化了Ajax上传的操作,提供了一些回调函数,方便我们在上传过程中处理进度、错误等问题。...
`jQuery`是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理以及Ajax交互,因此使用`jQuery`实现图片即时上传是一种常见且高效的方法。本文将深入探讨如何利用`jQuery`来创建一个兼容多种浏览器,包括...
对于“jQuery 上传图片显示”这一主题,我们主要探讨如何使用 jQuery 实现用户选择图片后在页面上即时预览的功能。这涉及到文件输入元素、JavaScript 事件处理、图片的 Base64 编码以及可能的 AJAX 上传等技术。 ...
网页上的收藏夹及分享功能代码 带当前时间显示的js日历 JavaScript适时监听输入框值的即时变化 自定义QQ在线状态图片 多种拖放元素功能的Js演示代码 - Ajax四级导航菜单ASP+Access动态版 所属分类:ASP源码 | Ajax...
本教程将详细解释如何利用jQuery和PHP技术来构建一个Ajax即时上传文件的系统,使得用户在选择本地图片后能够立即上传并展示上传进度,最终显示图片信息。 首先,为了实现这一功能,我们需要引入jQuery库和jquery....
jQuery的`attr`或`css`方法可以修改img标签的`src`属性,即时显示新头像。 在实现过程中,为了确保兼容性,开发者需要考虑不同浏览器对HTML5 File API的支持情况,以及对AJAX上传、跨域请求等特性的支持。此外,...
在头像上传裁剪应用中,jQuery用于处理前端的用户交互,例如监听文件选择事件、发起Ajax请求将图片数据发送到服务器,以及接收裁剪参数并更新显示的预览图像。 3. **jCrop**: jCrop是jQuery的一个插件,专门用于...
"JQuery无刷新上传并显示图片"是一个实用的技术实践,旨在实现用户上传图片后无需刷新页面就能即时预览的效果,这对于提升用户体验至关重要。这个技术涉及到的知识点主要包括以下几个方面: 1. **Ajax异步上传**:...
同时,为了提高用户体验,可以采用异步上传(Ajax)方式,让文件上传过程不影响页面交互,以及利用Web Workers进行图片处理,减少主线程负担。 总结,"jQuery图片裁切+PHP文件上传"方案结合了前端的灵活性和后端的...
在IT行业中,大文件上传和实时进度显示是用户体验的重要组成部分,尤其是在处理大量数据或多媒体内容时。本项目“php+apc+ajax实现大文件上传进度条”旨在提供一种高效、用户友好的解决方案,通过结合PHP、...