bootstrap fileinput上传组件和form表单一起提交

最近做到文件上传,用的是bootstrap fileinput上传组件,一般做文件上传我们有两种方式。

1:先上传文件,获取文件的回显值后赋值给form表单的字段文件属性,然后上传form表单。

2:form表单和文件一起提交。

考虑到第一种不太优雅,会提高代码的复杂性,故此选择第二种方式:form表单和文件一起提交。
过程如下

1:引入bootstrap fileinput 相关js,css

2:form表单插入file框
在这里插入图片描述

3:js内声明文件上传组件

$("#fileinput").fileinput({
    'theme': 'explorer-fas',
    maxFileSize: 1024000,  //最大允许上传限制
    //隐藏uploadUrl属性,相当于是普通文件控件,从而达到和form表单的效果
     // uploadUrl: prefix + "/uploadRefundFile",
    overwriteInitial: false,
    initialPreviewAsData: true,
    uploadAsync:true,
    showUpload: false,
    showClose: false,
    initialPreview: [],
    allowedFileExtensions: ["pdf",'jpg', 'png', 'gif','jpeg'],
    elCaptionText: ['只允许上传pdf/图片类型文件'],
    minFileCount: 1, //最少上传
    maxFileCount: 9, //最多上传
    layoutTemplates:{
        actionUpload:''  ,//去除上传预览缩略图中的上传图片
    },
    previewFileIconSettings: {
        'pdf': '<i class="fa fa-file-pdf-o text-danger"></i>',
        // 'doc': '<i class="fa fa-file-word-o text-primary"></i>',
        // 'docx': '<i class="fa fa-file-word-o text-primary"></i>',
        // 'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',
        // 'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
    }
})
说明:   获取上传文件的数量  var fileLength = $('#fileinput').fileinput('getFilesCount');

4:ajax进行form表单处理
在这里插入图片描述

5:后端利用httpservletrequest 获取文件
在这里插入图片描述

整个流程下来,相比第一种方式逻辑更加简单,减少代码量。

若是对于如何通过HttpServletRequest如何获取文件信息进行上传,可以到这里下载:
解析form表单同步上传的文件信息获取文件流

另:webuploader上传组件的文件编辑回显可参考该文章 超链接

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博客胡

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值