bootstrap-fileinput 插件项目总结参考

7 篇文章 0 订阅
4 篇文章 0 订阅

基础的定义及使用方法网上有很多不再概述,这儿主要写本人所使用项目时碰到的一些问题及解决方案

 

注:本人使用此插件主要用来上传图片之用,插件其他上传文件没有涉及

 

一、上传最小数量问题

 

通过查阅其他资料可知配置中有两个方法

        minFileCount:4,//表示允许同时上传的最小文件个数
        maxFileCount: 10, //表示允许同时上传的最大文件个数

这两个方法都可在插件官网的api里查到,不过有个问题

minFileCount在使用其自带上传方法时才会出现提示

 

maxFileCount在选择文件超过上限时就会出现提示

 

showUpload: true,//是否显示上传按钮  

具体原因可能是作者还没有修改吧,或许以后的版本会解决这个问题

 

二、不使用插件自带上传使用form表单提交问题

 

本人所做项目没有使用插件自带的上传功能而直接使用form表单进行提交

 

 

如果是表单提交需要注意以下问题

1.form里必须添加enctype="multipart/form-data"

2.如果是单个图片后台不用接收数组形式,或者可以参考如下方法


for (MultipartFile imgreturn : file) {
/*不添加如下代码会将新添加的内容覆盖掉*/
actinfo = new HashMap<String,Object>();
if (!imgreturn.isEmpty()) {
upImg =FileUtil.upload(imgreturn);
}
}

来接收前台传过来的数据,以上部分代码有删改,保存文件的方法就不予展示了

 

三、页面接收传递数据使用插件接收问题

 

此插件是可以进行后台数据传递预览功能的,不过添加新数据后会出现覆盖掉预览数据问题,所以不建议使用本插件进行数据修改操作

预览后台相关代码

// 预览图片json数据组  
  	var preList = new Array();  
  	     for ( var i = 0; i < reData.length; i++) {  
  	    	 var img = null;
  	    	 img = reData[i].activityimg;
  	            // 图片类型  
  	            preList[i]= "<img  width='120px' src=\'"+img+"\' class=\"file-preview-image\">";  
  	       
  	     }  
  	     var previewJson = preList;   
  	   // 与上面 预览图片json数据组 对应的config数据  
  	var preConfigList = new Array();  
  	   
  	     for ( var i = 0; i < reData.length; i++) {  
  	        var array_element = reData[i];  
  	        var tjson = {
  	        	caption: reData[i].activityno, // 展示的文件名  
  	        	url:'imgdelete', // 删除url  
  	                    key: reData[i].activityno,  // 删除是Ajax向后台传递的参数  
  	                    width: '120px',   
  	                    };  
  	        preConfigList[i] = tjson;  
  	     }  
  	   $('#txt_fileup').fileinput({  
  	 language: 'zh', //设置语言
  	         uploadUrl: 'activityupdate',  
  	         uploadAsync:false,  
  	         allowedFileExtensions: ['jpg', 'gif', 'png','jpeg'],//接收的文件后缀
  	         showCaption: true,  
  	         showUpload: false,//是否显示上传按钮  
  	         showRemove: false,//是否显示删除按钮  
  	         showCaption: true,//是否显示输入框  
  	         showPreview:true,
  	         showCancel:true,  
  	         dropZoneEnabled: false,
  	       	 minFileCount:4,
  	         maxFileCount: 10,  
  	         initialPreviewShowDelete:true,  
  	         msgFilesTooMany: "选择上传的文件数量 超过允许的最大数值!",  
  	         /* initialPreview: previewJson,   
  	         initialPreviewConfig: preConfigList */  
  	     }).off('filepreupload').on('filepreupload', function() {  
  	     }).on("fileuploaded", function(event, outData) {  
  	     });  


 

四、使用到的插件方法调用

 

为了解决上一个问题曾考虑使用调用插件的方法来进行判断,不过最后失败了,以下是使用过的调用方法

 

  	 $('#txt_fileup').on('filedeleted', function(event, key) {  
  	/* 触发删除方法 */
  	});  
  	 
  	  $('#txt_fileup').on('fileselect', function(event, numFiles, label) {
  			 /* 触发选择方法 */
   	}); 

  		$('#txt_fileup').on('filebatchselected', function(event, files) {
  			 /* 触发选择完成后方法 */
  			var fl = files.length;
  			var fls = 0;
  			fls = fl+rl;
  			if(fls<4){
  				alert("上传图片数量不足");
  			}

  		});


 

还有更多没有调用的方法在api文档里可以查询

 

完成项目时查阅了如下资料,感谢资料提供

http://blog.csdn.net/wuwenjinwuwenjin/article/details/49507595

http://blog.csdn.net/sinat_33750162/article/details/51497563

http://www.cnblogs.com/kevin19900306/p/5459859.html

http://www.htmleaf.com/html5/html5muban/201505091801.html?utm_source=tuicool&utm_medium=referral

http://www.ithao123.cn/content-10182240.html

http://www.cnblogs.com/landeanfen/p/5007400.html?utm_source=tuicool&utm_medium=referral

http://blog.csdn.net/lvshaorong/article/details/48730145

http://blog.csdn.net/u011713224/article/details/52174605 删除回调

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值