html5 fileupload控件进度条,jQuery文件上传插件jQuery Upload File 有上传进度条(示例代码)...

5142f52ef9781c3331ff577fa1a26d72.png

jQuery文件上传插件jQuery Upload File,插件使用简单,支持单文件和多文件上传,支持文件拖拽上传,有进度条显示。标准HTML form文件上传,也就是说,只要服务端支持接收multipart/form-data格式数据就能使用此上传插件。

本站web端文件文件提交即使用此插件,效果如下:

a538d19e98918cc0ded0505f0ba72fb2.png

浏览器支持

浏览器支持:IE 8.0,IE 9.0,IE 10.0,Firefox,Safari,Opera,Chrome

支持文件拖拽上传的浏览器:IE10+,Firefox,Safari,Opera,Chrome

使用方法

1.在页面head节点添加css和js文件引用

由于此插件依赖jQuery插件,因此以上示例也添加了就jQuery库的引用。别外在jQuery Upload File的源码中引用在jQuery Form插件,在使用时应做相应检查,确保jQuery Form插件的可访问性。

2.在页面的body节点中添加一个div处理上传文件

Upload

3.添加js启动脚本

$(document).ready(function()

{

$("#fileuploader").uploadFile({

url:"文件上传url",

fileName:"myfile"

});

});

本站的初始化示例

本站上传文章封面图时使用了jQuery Upload File插件,用于前端数据提交。

$("#fileuploader").uploadFile({

url:"/file/upload", //文件上传url

fileName:"image", //提交到服务器的文件名

maxFileCount: 1, //上传文件个数(多个时修改此处

returnType: ‘json‘, //服务返回数据

allowedTypes: ‘jpg,jpeg,png,gif‘, //允许上传的文件式

showDone: false, //是否显示"Done"(完成)按钮

showDelete: true, //是否显示"Delete"(删除)按钮

onLoad: function(obj)

{

//页面加载时,onLoad回调。如果有需要在页面初始化时显示(比如:文件修改时)的文件需要在此方法中处理

obj.createProgress(‘/tmpImage.jpg‘); //createProgress方法可以创建一个已上传的文件

},

deleteCallback: function(data,pd)

{

//文件删除时的回调方法。

//如:以下ajax方法为调用服务器端删除方法删除服务器端的文件

$.ajax({

cache: false,

url: "file/upload",

type: "DELETE",

dataType: "json",

data: {file:data.url},

success: function(data)

{

if(data.code===0){

pd.statusbar.hide(); //删除成功后隐藏进度条等

$(‘#image‘).val(‘‘);

}else{

console.log(data.message); //打印服务器返回的错误信息

}

}

});

},

onSuccess: function(files,data,xhr,pd)

{

//上传成功后的回调方法。本例中是将返回的文件名保到一个hidden类开的input中,以便后期数据处理

if(data&&data.code===0){

$(‘#image‘).val(data.url);

}

}

});

根据以上介绍,及本站的使用示例,已经可以这个高大上的、有进度的文件上传插件了。更多设置及使用方法请自行参考其github源代码:jQuery Upload File

jQuery File Upload 是一个 jQuery 图片上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。 特征: 1、多文件上传: 允许一次选择多个文件并同时上传。 2、拖放支持: 允许通过从桌面或文件管理器中将文件拖放到浏览器窗口中来上传文件。 3、上载进度条: 显示一个进度条,指示单个文件和所有组合上载的上载进度。 4、可取消的上传: 可以取消单个文件的上传以停止上传进度。 5、可恢复的上传: 可以使用支持Blob API的浏览器恢复中止的上传。 6、批量上传: 大型文件可以使用支持Blob API的浏览器以较小的块上传。 7、客户端图像调整大小: 可以使用支持所需JS API的浏览器在客户端上自动调整图像大小。 8、预览图像,音频和视频: 使用支持所需API的浏览器上载之前,可以显示图像,音频和视频文件的预览。 9、无需浏览器插件(例如Adobe Flash): 该实现基于HTML5和JavaScript等开放标准,并且不需要其他浏览器插件。 10、旧版浏览器的优美回退: 如果支持,则通过XMLHttpRequests上传文件,并使用iframe作为旧版浏览器的回退。 11、HTML文件上传表单后备: 通过使用标准HTML文件上传表单作为小部件元素,可以逐步增强功能。 12、跨站点文件上传: 支持使用跨站点XMLHttpRequest或iframe重定向将文件上传到其他域。 13、多个插件实例: 允许在同一网页上使用多个插件实例。 14、可自定义和可扩展: 提供API来设置各个选项并为各种上传事件定义回调方法。 15、分段和文件内容流的上传: 可以将文件作为标准的“分段/表单数据”或文件内容流(HTTP PUT文件上传)进行上传。 16、与任何服务器端应用程序平台兼容: 支持标准HTML表单文件上传的任何服务器端平台(PHP,Python,Ruby on Rails,Java,Node.js,Go等)均可使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值