视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
bootstrapfileinput插件使用项目总结
2020-11-27 20:24:48 责编:小采
文档
 基础的定义及使用方法网上有很多不再概述,这儿主要写本人所使用项目时碰到的一些问题及解决方案

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

一、上传最小数量问题

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

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, key) { 
 /* 触发选择方法 */ 
 });

以上所述是小编给大家介绍的bootstrap fileinput 插件使用项目总结(经验),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!

更多bootstrap fileinput 插件使用项目总结相关文章请关注PHP中文网!

下载本文
显示全文
专题