【www.bbyears.com--php框架模板】
bootstrap-fileinput是基于bootstrap的上传控件,此控件网上有很多例子。我照着例子做后发现请求无法提交到后台,反复测试后发现,不能禁止预览(showPreview要设置为true),禁止预览后fileuploaded则无法响应(实际情况是showPreview=false时, 即便是uploadAsync=true, 也是filebatchuploadsuccess响应返回结果。如果showPreview=true, uploadAsync=true, 才是fileuploaded响应返回结果)。
BootStrap Fileinput初始化时的一些参数
注意:
如果出现$("#xxxx").fileinput({}); 不生效的情况请将fileinput.js中最后几行注释掉:
代码如下 /* $(document).ready(function () { var $input = $("input.file[type=file]"), count = $input.attr("type") ? $input.length : 0; if (count > 0) { $input.fileinput(); } }); */ <script type="text/JavaScript"src="js/jQuery.min.js"></script> <script type="text/javascript"src="js/bootstrap/fileinput.js"></script> <script type="text/javascript"src="js/bootstrap/fileinput_locale_zh.js"></script> <script type="text/javascript"src="js/bootstrap/bootstrap.min.js"></script> <script type="text/javascript"> $("#uploadfile").fileinput({ language:"zh",//设置语言 uploadUrl:"http://127.0.0.1/testDemo/fileupload/upload.do", //上传的地址 allowedFileExtensions: ["jpg","gif","png"],//接收的文件后缀 //uploadExtraData:{"id": 1, "fileName":"123.mp3"}, uploadAsync:true,//默认异步上传 showUpload:true,//是否显示上传按钮 showRemove :true,//显示移除按钮 showPreview :true,//是否显示预览 showCaption:false,//是否显示标题 browseClass:"btn btn-primary",//按钮样式 dropZoneEnabled:false,//是否显示拖拽区域 //minImageWidth: 50, //图片的最小宽度 //minImageHeight: 50,//图片的最小高度 //maxImageWidth: 1000,//图片的最大宽度 //maxImageHeight: 1000,//图片的最大高度 //maxFileSize: 0,//单位为kb,如果为0表示不限制文件大小 //minFileCount: 0, maxFileCount: 10,//表示允许同时上传的最大文件个数 enctype:"multipart/form-data", validateInitialCount:true, previewFileIcon:"", msgFilesTooMany:"选择上传的文件数量({n}) 超过允许的最大数值{m}!", }); //异步上传返回结果处理 $("#uploadfile").on("fileerror",function(event, data, msg) { console.log(data.id); console.log(data.index); console.log(data.file); console.log(data.reader); console.log(data.files); // get message alert(msg); }); //异步上传返回结果处理 $("#uploadfile").on("fileuploaded",function(event, data, previewId, index) { console.log(data.id); console.log(data.index); console.log(data.file); console.log(data.reader); console.log(data.files); varobj = data.response; alert(JSON.stringify(data.success)); }); //同步上传错误处理 $("#uploadfile").on("filebatchuploaderror",function(event, data, msg) { console.log(data.id); console.log(data.index); console.log(data.file); console.log(data.reader); console.log(data.files); // get message alert(msg); }); //同步上传返回结果处理 $("#uploadfile").on("filebatchuploadsuccess",function(event, data, previewId, index) { console.log(data.id); console.log(data.index); console.log(data.file); console.log(data.reader); console.log(data.files); varobj = data.response; alert(JSON.stringify(data.success)); }); //上传前 $("#uploadfile").on("filepreupload",function(event, data, previewId, index) { varform = data.form, files = data.files, extra = data.extra, response = data.response, reader = data.reader; console.log("File pre upload triggered"); }); </script>经查资料得知,异步上传处理错误和返回结果要处理fileerror和fileuploaded方法;同步上传处理错误和返回结果filebatchuploaderror和filebatchuploadsuccess方法