jQuery文件上传插件jQuery Upload File,插件使用简单,支持单文件和多文件上传,支持文件拖拽上传,有进度条显示。标准HTML form文件上传,也就是说,只要服务端支持接收multipart/form-data格式数据就能使用此上传插件。
本站web端文件文件提交即使用此插件,效果如下:
浏览器支持
浏览器支持:IE 8.0,IE 9.0,IE 10.0,Firefox,Safari,Opera,Chrome
支持文件拖拽上传的浏览器:IE10+,Firefox,Safari,Opera,Chrome
使用方法
1.在页面head节点添加css和js文件引用
<link href="/jQuery-Upload-File/uploadfile.min.css" rel="stylesheet"> <script src="/jquery/1.9.1/jquery.min.js"></script> <script src="/jQuery-Upload-File/jquery.uploadfile.min.js"></script>
由于此插件依赖jQuery插件,因此以上示例也添加了就jQuery库的引用。别外在jQuery Upload File的源码中引用在jQuery Form插件,在使用时应做相应检查,确保jQuery Form插件的可访问性。
2.在页面的body节点中添加一个div处理上传文件
<div id="fileuploader">Upload</div>
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