http://www.cnblogs.com/KTblog/p/4740852.html

效果:

  • 起始界面。

-------------

  • 可以上上传单个文件。

-------------

  • 可以上传多个文件。

---------------

  • 点击上传。
  • 后台使用php接收上传来的文件。其它语言相同,都是接收上传的文件。

项目结构图:

代码:

upload.html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>最基本的使用——plupload演示demo</title>
<script src="//cdn.bootcss.com/jquery/2.2.0/jquery.js"></script>
<script src="js/plupload.full.min.js"></script>
<style>
body{ font-size: 12px;}
body,p,div{ padding: 0; margin: 0;}
.wraper{ padding: 30px 0;}
.btn-wraper{ text-align: center;}
.btn-wraper input{ margin: 0 10px;}
#file-list{ width: 350px; margin: 20px auto;}
#file-list li{ margin-bottom: 10px;}
.file-name{ line-height: 30px;}
.progress{ height: 4px; font-size: 0; line-height: 4px; background: orange; width: 0;}
.tip1{text-align: center; font-size:14px; padding-top:10px;}
.tip2{text-align: center; font-size:12px; padding-top:10px; color:#b00}
.catalogue{ position: fixed; _position:absolute; _width:200px; left: 0; top: 0; border: 1px solid #ccc;padding: 10px; background: #eee}
.catalogue a{ line-height: 30px; color: #0c0}
.catalogue li{ padding: 0; margin: 0; list-style: none;}
</style>
</head>
<body>
<div class="wraper">
<div class="btn-wraper">
<input type="button" value="选择文件..." id="browse" />
<input type="button" value="开始上传" id="upload-btn" />
</div>
<ul id="file-list"> </ul>
</div> <script>
var uploader = new plupload.Uploader({ //实例化一个plupload上传对象
browse_button : 'browse',
url : 'FileUpload.php',
flash_swf_url : 'js/Moxie.swf',
silverlight_xap_url : 'js/Moxie.xap', /*类型验证*/
filters: {mime_types : [ //只允许上传图片和zip文件
{ title : "Image files", extensions : "jpg,gif,png" },
{ title : "Zip files", extensions : "zip" }
],
max_file_size : '400kb', //最大只能上传400kb的文件
prevent_duplicates : true //不允许选取重复文件
}, /*携带参数*/
multipart_params: {
one: '1',
two: '2',
three: { //值还可以是一个字面量对象
a: '4',
b: '5'
},
four: ['6', '7', '8'] //也可以是一个数组
}
}); uploader.init(); //初始化 //绑定文件添加进队列事件
uploader.bind('FilesAdded',function(uploader,files){
for(var i = 0, len = files.length; i<len; i++){
var file_name = files[i].name; //文件名
var file_size = files[i].size; //大小
var file_type = files[i].type; //类型
//构造html来更新UI
var html = '<li id="file-' + files[i].id +'"><p class="file-name" style="width:800px;">文件名:' + file_name + ' -- 大小:'+ file_size +' -- 类型:'+ file_type +'</p><p class="progress"></p></li>';
$(html).appendTo('#file-list');
}
}); //绑定文件上传进度事件
uploader.bind('UploadProgress',function(uploader,file){
$('#file-'+file.id+' .progress').css('width',file.percent + '%');//控制进度条
}); //上传按钮
$('#upload-btn').click(function(){
uploader.start(); //开始上传
});
</script>
</body>
</html>

FileUplaod.php:

<?php
print_r($_POST);
echo '<hr/>';
print_r($_FILES);

//+++++++++++++++++++++++++++++++

使用动态参数:

先在属性中设置要上传的参数:

然后再上传的前一刻,进行设置参数的值。此时的参数值,就是获取的最新参数。直接提交,就连同上传文件,以及参数一并上查。

//++++++++++++++++++++++++++++

http://snowcoal.com/article/423.html

删除添加的上传文件:

DOM结构:

生成结构的代码:

//绑定文件添加进队列事件
uploader.bind('FilesAdded',function(uploader,files){
for(var i = 0, len = files.length; i<len; i++){
var file_name = files[i].name; //文件名
var file_size = files[i].size; //大小
var file_type = files[i].type; //类型 //构造html来更新UI
var html = '<div style="padding: 10px 0 10px 20px;" class="pic_list" id="' + files[i].id + '">文件名:' + files[i].name + ' -- (大小:' + plupload.formatSize(files[i].size) + ' -- 类型:' + files[i].type + ') <b class="pic_delete" data-val='+files[i].id+' style="color:#ff0000; cursor:pointer;">删除</b></div>'; $(html).appendTo('#file-list');
}
});

点击删除按钮,的函数,放在同一个js文件中:

//删除上传文件
$(document).on('click','.pic_list b.pic_delete',function(){
$(this).parent().remove();
var toremove = '';
var id=$(this).attr("data-val");
for(var i in uploader.files){
if(uploader.files[i].id === id) { toremove = i; }
}
uploader.files.splice(toremove, 1);
});

前端上传组件 - Plupload的更多相关文章

  1. 前端上传组件Plupload使用指南

    我之前写过一篇文章<文件上传利器SWFUpload使用指南>,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SW ...

  2. 【转】前端上传组件Plupload

    [转自博客园-无双] html5原生的给我们提供了文件上传的API,Plupload是一款由著名的web编辑器TinyMCE团队开发的上传组件,简单易用且功能强大,我们完全可以使用Plupload来代 ...

  3. 【转】前端上传组件Plupload使用指南

    http://www.cnblogs.com/2050/p/3913184.html Plupload有以下功能和特点: 1.拥有多种上传方式:HTML5.flash.silverlight以及传统的 ...

  4. [Pulgin] 前端上传组件Plupload使用指南

    我之前写过一篇文章<文件上传利器SWFUpload使用指南>,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SW ...

  5. web 文件上传组件 Plupload

    Plupload官网:点击打开链接   建议下载最新版本号,低版本号会出现浏览器兼容问题. 近期公司有个项目须要在web端使用多文件上传功能.刚開始准备使用HTML5来做.但是IE9下面是都不支持的, ...

  6. 前端上传插件Plupload的实际使用(个人实操)

    一个主要的页面,其中包裹了一个iframe页面,在项目中,这个iframe页面包裹在主页面的div标签中,主要用于上传文件附件. 用的是plupload.full插件,主要引入以下几个js: jque ...

  7. 多图片/文件上传 - SwfUpload/PlUpload

    <文件上传利器SWFUpload使用指南> <前端上传组件Plupload使用指南>

  8. 上传组件Fine Uploader在ASP.NET中的应用

    现如今,世面上流行着许多前端上传组件,例如:Uploadify(http://www.uploadify.com/),Fine Uploader,等等.这篇博客从头开始,介绍如何在ASP.NET MV ...

  9. 基于SqlSugar的开发框架循序渐进介绍(13)-- 基于ElementPlus的上传组件进行封装,便于项目使用

    在我们实际项目开发过程中,往往需要根据实际情况,对组件进行封装,以更简便的在界面代码中使用,在实际的前端应用中,适当的组件封装,可以减少很多重复的界面代码,并且能够非常简便的使用,本篇随笔介绍基于El ...

随机推荐

  1. 对于java用发送http请求,请求内容为xml格式

    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...

  2. STL algorithm算法mismatch(37)

    mismatch原型: std::mismatch equality (1) template <class InputIterator1, class InputIterator2> p ...

  3. js取整

    综述 js中经常会遇到取整问题,所以做了下总结.总的来说分为两个方面,直接取整(不考虑小数点后的部分)还是计算后取整(例如四舍五入,向上取整等). 一.直接取整 1.parseInt(number) ...

  4. 利用jQuery获取数据,JSONP

    最近工作用到了跨域请求,所以此文就有了,概念网上都有,就不细说了,直接来了. 看了一篇文章,说的是通过扩展让ASP.NET Web API支持JSONP,jsonp网上有很多的教程,js代码部分基本和 ...

  5. SQL中distinct的用法(转)

    原文:http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出 ...

  6. easyui-datagrid通过action从数据库获取数据的关键代码

    实际上是结合struts2来从数据获取json格式的数据.   关键代码: GetUserAction.java代码   package com.log.control; import java.io ...

  7. MySql 初次安装登陆

    名称:随便写 服务器:127.0.0.1或者localhost 端口:在安装mysql应该看到是3306 用户:root 密码:(默认的是空,如果你设置过自己应该知道) 其他就可以不用设置

  8. PHP 判断数据类型

    isset()://变量是否已经声明 empty()://变量是否为空 defined()://常量是否已经定义 define() array_key_exists(mixed key, array ...

  9. 【转】NP-Hard和NP-Complete的区别

    原文来自:http://hi.baidu.com/nuclearspace/item/e0f8a1b777914974254b09f4 对 NP-Hard问题和NP-Complete问题的一个直观的理 ...

  10. Linux中查看进程及杀死进程命令

    Linux中想杀死fcitx进程,然后再重启它. root@www.linuxidc.com:/home/zhangbin# ps -e | grep 'fcitx' 3405 ?        00 ...