1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【技术】若依框架的文件上传组件(bootstrap-fileinput)

【技术】若依框架的文件上传组件(bootstrap-fileinput)

时间:2019-11-13 09:23:10

相关推荐

【技术】若依框架的文件上传组件(bootstrap-fileinput)

若依框架的文件上传组件

引入组件基础用法特殊用法配置项方法配置

引入组件

<th:block th:include="include :: bootstrap-fileinput-css" /><th:block th:include="include :: bootstrap-fileinput-js" />

基础用法

以下是官网给的案例,详细参数去【若依官网文档】查看

<!DOCTYPE html><html lang="zh"><head><th:block th:include="include :: header('文件上传')" /><th:block th:include="include :: bootstrap-fileinput-css" /></head><body class="gray-bg"><div class="wrapper wrapper-content animated fadeInRight"><div class="row"><div class="col-sm-12"><div class="ibox float-e-margins"><div class="ibox-title"><h5>文件上传控件 <small>/kartik-v/bootstrap-fileinput</small></h5></div><div class="ibox-content"><div class="form-group"><label class="font-noraml">单文件上传</label><div class="file-loading"><input id="singleFile" name="file" type="file"></div></div><div class="form-group"><label class="font-noraml">多文件上传</label><div class="file-loading"><input id="multipleFile" name="files" type="file" multiple></div></div><hr><div class="form-group"><label class="font-noraml">相关参数详细信息</label><div><a href="http://doc.ruoyi.vip/ruoyi/document/zjwd.html#bootstrap-fileinput" target="_blank">http://doc.ruoyi.vip/ruoyi/document/zjwd.html#bootstrap-fileinput</a></div></div></div></div></div></div></div><th:block th:include="include :: footer" /><th:block th:include="include :: bootstrap-fileinput-js" /><script th:inline="javascript">$(document).ready(function () {// 单图上传$("#singleFile").fileinput({uploadUrl: ctx + 'common/upload',maxFileCount: 1,autoReplace: true}).on('fileuploaded', function (event, data, previewId, index) {var rsp = data.response;log.info("return url:" + rsp.url)log.info("reutrn fileName:" + rsp.fileName)}).on('fileremoved', function (event, id, index) {$("input[name='" + event.currentTarget.id + "']").val('')})// 多图上传$("#multipleFile").fileinput({uploadUrl: ctx + 'common/uploads',uploadAsync: false}).on('filebatchuploadsuccess', function (event, data, previewId, index) {var rsp = data.response;log.info("return urls:" + rsp.urls)log.info("reutrn fileNames:" + rsp.fileNames)}).on('fileremoved', function (event, id, index) {$("input[name='" + event.currentTarget.id + "']").val('')})});</script></body></html>

特殊用法

文件上传组件默认单独上传之后,在点击提交表单。但是有些情况下我们需要带着文件和表单数据。

固定参数

<script th:inline="javascript">//点击表单的提交按钮调用该方法function submitHandler() {if ($.validate.form()) {$("#multipleFile").fileinput("upload");}}// 多文件上传$("#multipleFile").fileinput({uploadUrl: prefix + '/uploadBatch', // 这里是控制层的路径,该路径接收文件和数据uploadAsync: false,showUpload: false, // 由于是提交表单上传,这里禁用掉上传按钮layoutTemplates: {actionUpload: ''}, // 由于是提交表单上传,这里禁用掉每个组件的上传按钮uploadExtraData:{name: 'value' // 这里是上传文件携带的其他参数,默认情况下只支持固定参数}}).on('filebatchuploadsuccess', function (event, data, previewId, index) {// 控制层返回的JSON数据var rsp = data.response;// 这里可以根据返回的数据进行额外处理}).on('fileremoved', function (event, id, index) {$("input[name='" + event.currentTarget.id + "']").val('')})</script>

动态参数

适用于手动输入数据 + 提交文件需求

<script th:inline="javascript">//点击表单的提交按钮调用该方法function submitHandler() {if ($.validate.form()) {$("#multipleFile").fileinput("upload");}}// 多文件上传$("#multipleFile").fileinput({uploadUrl: prefix + '/uploadBatch', // 这里是控制层的路径,该路径接收文件和数据uploadAsync: false,showUpload: false, // 由于是提交表单上传,这里禁用掉上传按钮layoutTemplates: {actionUpload: ''}, // 由于是提交表单上传,这里禁用掉每个组件的上传按钮// 动态参数写法,缩略图预览和索引作为参数uploadExtraData: function(previewId, index){// 参数对象var data = {};data.key = $("").val();return data;}}).on('filebatchuploadsuccess', function (event, data, previewId, index) {// 控制层返回的JSON数据var rsp = data.response;// 这里可以根据返回的数据进行额外处理}).on('fileremoved', function (event, id, index) {$("input[name='" + event.currentTarget.id + "']").val('')})</script>

配置项

方法配置

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。