bootstrap+springMvc 文件上传

BootStrap增强型的多文件上传控件BootStrap-FileInput      基于BootStrap项目需求一款多文件上传控件,通过筛选分析发现了BootStrap-FileInput这款控件(开源),能满足大多数文件上传需求,简单写一下使用方法和遇到的坑!!项目开源地址:https://github.com/kartik-v/bootstrap-fileinput官网:http://plugins.krajee.com/file-input项目的前后台基本上就是... 阅读详情

1、首先导入要用的js库

2、在xml配置

3.jsp页面

                                <button id="impExcelBtn" type="button" class="btn btn-primary">
                                <span class="fa fa-file-excel-o fa-fw"></span>导入</button>

上传文件框

    <div class="modal fade" id="ImpModal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop='static'>
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"
                        aria-hidden="true">&times;</button>
                    <h4 class="modal-title" id="impFile">导入Excel名单</h4>
                </div>
                <div class="modal-body">
                    <form class="impExcelPath form-horizontal">
                        <div class="form-group">
                            <label class="col-xs-2 control-label">文件路径</label>
                            <div class="col-sm-9">
                                 <input type="file" id="excelfile" name="file" />
                            </div>
                        </div>
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default btn-sm"
                        data-dismiss="modal">
                        <i class="fa fa-close fa-fw"></i> &ensp;关闭
                    </button>
                </div>
            </div>
        </div>
    </div>

js中代码

$('#excelfile').fileinput({
    uploadUrl: 'flowUpload.do?tradeCode=200403&formCode=QZ100103',
    msgPlaceholder: '请选择一个文件...',
    enctype: 'multipart/form-data',
    uploadAsync: false,
    showCancel: false,
    showUpload: true,
    showRemove: false,
    showCaption: true,
    showPreview: false,
    dropZoneEnabled: false,
    autoReplace: true,
    maxFileCount: 1,
    validateInitialCount: true,
    allowedFileExtensions: ['xlsx', 'xls'],
    language: 'zh'
}).on('filebatchuploadsuccess',    function(event, data, previewId, index) {
    $('#ImpModal').modal('hide');
    $(event.target).fileinput('clear').fileinput('unlock');
    alertMsg(data.response.msg);
}).on('filebatchuploaderror',    function(event, data, previewId, index) {
    $('#ImpModal').modal('hide');
    $("#excelfile").fileinput('clear').fileinput('unlock');
    alertMsg(data.response.msg);
});

$('#impExcelBtn').on('click',    function() {
    $(".fileinput-remove-button").click();
    $('#ImpModal .modal-title').html('导入Excel名单');
    $("#excelfile").fileinput('clear').fileinput('unlock');
    $('#ImpModal').modal();
});

JAVA 后台

    @RequestMapping("/flowUpload.do")
    public ModelAndView flowUpload(HttpServletRequest request, HttpServletResponse response) throws Exception {
        request.setCharacterEncoding("UTF-8");
        Map<String,Object> result= new HashMap<String, Object>();
        // 转型为MultipartHttpRequest:
        MultipartHttpServletRequest multipartRequest = null;
        if (request instanceof MultipartHttpServletRequest) {
            multipartRequest = (MultipartHttpServletRequest)(request);
            // 获得文件:
            MultipartFile file= multipartRequest.getFile("file");
        //    System.out.println("uploadfilePath:"+uploadfilePath);
            
            String uploadfilePath = request.getSession().getServletContext().getRealPath("/uploadFile/");//获取项目路径+上传文件夹
            String fileName = file.getOriginalFilename();   //获取文件名称带后缀
            System.out.println("-路径-:"+uploadfilePath+"--文件名:"+fileName);
            File myPath = new File( uploadfilePath);  
            if ( !myPath.exists()){//若此目录不存在,则创建之  
                myPath.mkdir();  
                System.out.println("创建文件夹路径为:"+ uploadfilePath);  
            }  
            
            try{
                if(!(file.getOriginalFilename() == null || "".equals(file.getOriginalFilename()))){
                    // 对文件进行存储处理
                    FileOutputStream fs=new FileOutputStream( uploadfilePath + File.separator+ file.getOriginalFilename());

                    System.out.println("------------"+uploadfilePath + File.separator+ file.getOriginalFilename());
                    int len = file.getInputStream().available();
                    logger.info("文件大小"+len);
                    byte[] buffer = null;
                    if(len != 0){
                        buffer = new byte[len];
                    }else
                    {
                        buffer = new byte[1024*1024];
                    }
                    int bytesum = 0;
                    int byteread = 0;
                    InputStream inputStream = file.getInputStream();
                    while ((byteread=inputStream.read(buffer))!=-1)
                    {
                        bytesum+=byteread;
                        fs.write(buffer,0,byteread);
                        fs.flush();
                    }
                    fs.close();
                    file.getInputStream().close();
     
                    
                    Map model = new HashMap();
                    Map params = new HashMap();
                    Map body = new HashMap();
                    PubMethod.Request2Map(request, params);
                    String formcode = (String) params.get("formCode");
                    String tradecode = (String) params.get("tradeCode");
                    body.put("teller_code", "");
                    //body.put("uploadfilePath", uploadfilePath);
                    BDPReq reqMap = PubMethod.CreateBDPReq(request, Constants.APP_CODE, tradecode, formcode, body);
                    reqMap.setFN(fileName);
                    reqMap.setFLP(Tools.getPlatConfig("FTP_FILEPATH"));
                    BDPRsp rsp = PubMethod.SendAndRecvBDPMsg(reqMap);
                    if(rsp != null){
                        body = rsp.getBody();
                        BDPRspHead head = rsp.getHead();
                        System.out.println("响应报文body:"+ JSONObject.fromObject(body));
                        System.out.println("响应报文head:"+head);
                        if(Constants.BDP_SUCCESS_CODE.equals(head.getMsgcode())){
                            result.put("success", "true");
                            result.put("msg", "成功!");
                            /*model.put("total", body.get("total"));  
                            model.put("rows", body.get("rows"));*/
                        }else{
                            model.put("success", "false");
                            throw new BusinessException("W0000-0027", head.getMsgtxt());
                        }
                        
                    }else{
                        throw new BusinessException("W0000-0027", "交易异常!");
                    }
                }
            }catch(IOException e){
                result.put("msg","出错了");
                result.put("success","false");
                e.printStackTrace();
            }catch (Exception e1){
                e1.printStackTrace();
            }
        }
        return new ModelAndView("jsonView", result);
    }

 

SpringMVC之文件的上传下载(教你如何使用有关SpringMVC知识实现文件上传下载的超详细博客) 在Spring MVC中,文件上传下载是指通过web应用程序上传和下载文件。Spring MVC提供了一些便捷的方式来处理文件上传和下载的流程。在文件上传方面,可以MultipartFile对象来接收和处理客户端上传的文件。而在文件下载方面,可以使用Spring MVC的ResponseEntity和InputStreamResource等类来实现文件下载的功能。 阅读详情

相关推荐

SSM框架整合实战项目:Spring+SpringMVC+MyBatis+Bootstrap及文件上传下载功能实现

SSM(Spring + SpringMVC + MyBatis)是Java企业级开发的经典组合,通过Spring管理全局Bean、SpringMVC处理HTTP请求、MyBatis操作数据库,实现分层解耦与高效协作。本章将搭建基于Maven的Web项目结构,配置JDK 1.8+、Tomcat 9+及IDEA集成环境,完成pom.xml中核心依赖引入:同时,规范存放Service/Controller代码,resources配置Spring与MyBatis映射文件,注册和。

weixin_42587866的博客 801

Springboot怎么实现图片上传

label class="col-sm-2 control-label">图片</label>-- imgfile 是上传图片的参数 类型是 MultipartFile 文件类型imgfile 必须和后台 上传图片的方法 uploadImg 参数保持一致 --></div></div>js中定义函数 图片上传<script>//上传图片//初始化图片配置:],//是否初始化图片显示language: 'zh', //设置语言。

weixin_62883794的博客 5191

Apache Doris集群IP变更急救指南:用Docker容器+priority_networks快速恢复FE/BE节点

本文详细介绍了Apache Doris集群在IP变更情况下的应急处理方案,通过Docker容器和priority_networks配置快速恢复FE/BE节点。文章提供了从容器化环境构建、元数据迁移到生产环境切换的全流程指南,帮助运维团队在30分钟内完成集群恢复,显著减少停机时间。

pink7的博客 114

基于SpringMVC开发文件上传,前端使用bootstrap

1. 摘要 Spring MVC为文件上传提供了最直接的支持,这种支持是通过即插即用的MultipartResolve实现的。Spring使用Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver。 下面将具体讲解Spring MVC实现文件上传的具体步骤。 2. 添加Jar

a514224717的专栏 1052

MTK Linux DRM分析(八)- KMS drm_crtc.c

CRTC 在 Linux DRM 子系统中是显示控制的核心,负责时序生成、模式设置和管线的调度。理解其工作原理和 API 对于进行底层图形开发、调试显示问题或 simply understanding how your graphics stack works 都至关重要。

iTom1900 1349

【Zephyr 系列 29】低功耗调试指南:电流测量、系统睡眠与功耗分析

Zephyr低功耗调试指南(150字摘要) 针对物联网设备续航需求,本文解析Zephyr低功耗调试方法:1️⃣ 机制:启用PM子系统和tickless idle,配置睡眠策略;2️⃣ 测量:推荐功耗分析仪捕捉μA级电流波动;3️⃣ 优化:管理唤醒源(如GPIO/RTC)、调整BLE广播/连接参数,挂起闲置外设;4️⃣ 分析:建立功耗文档,对比不同模式电流(如待机0.6mA vs广播3.2mA)。强调低功耗需系统性设计,初期即需纳入测试流程。下期将探讨Zephyr OTA升级实现。

hemoparrot的专栏 1180

spring mvc文件上传和使用bootstrap进行多文件上传

spring mvc 文件上传 https://www.cnblogs.com/fjsnail/p/3491033.html 使用 bootstrap 进行多文件上传 https://blog.youkuaiyun.com/github_36086968/article/details/72822041 转载于:https://www.cnblogs.com/liouzeshuen/p/10539...

weixin_30292745的博客 110

用ADS复现一篇MTT顶刊的GAN功率放大器:从理论推导到版图仿真的完整避坑指南

本文详细解析了如何利用ADS软件复现MTT顶刊中的E/F3类GaN功率放大器设计,从理论推导到版图仿真的全流程。通过核心设计理念解析、ADS环境配置、输出匹配网络优化等关键步骤,提供了一套完整的工程实践指南,帮助工程师跨越学术理论与实际应用的鸿沟,实现高效率射频功率放大器的设计。

weixin_30654583的博客 315

bootstrap+SpringMVC 实现多文件上传

前端时间公司需要附件可以一次选择多个文件上传,网上找了很多资料,前前后后找资源都很难搞定,最开始搜到的是swf来上传,但是那个flash插件用起来蛮不好用,博主果断抛弃这种做法,即便是前台界面配合extjs还不错的情况下。其次,用到的ajax实现多文件上传,做完之后,界面实在太丑,又果断弃之。最后,功夫不负有心人,我找到bootstrap+file input自带的俩文件,直接搞定...

一生所爱 3600

【速通RAG实战:索引】4.RAG文档解析技术

通过本文技术方案,可构建高精准、高效率的文档解析流水线,为 RAG 应用提供坚实的知识底座。核心在于**格式解析的鲁棒性**和**语义分块的准确性**,后续通过持续的性能优化和质量监控,逐步提升索引质量和检索效率。

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 1545

《Zephyr OS 入门与实战》第3章:第一个 Zephyr 程序 - Blinky 实战

解决方法:确认设备树overlay文件已正确加载。返回值,确认驱动初始化状态。

2301_79143213的博客 540

SpringMVC实现的文件上传进度条Bootstrap展示

SpringMVC实现的文件上传进度条Bootstrap展示

程高伟 2万+

英飞凌 AURIX TC3XX 系列单片机的链接文件

这篇介绍英飞凌 AURIX TC3XX 系列单片机的链接文件,主要是针对使用 SOTA 功能如何修改链接文件,完整地实现 SOTA 功能

大橙子的博客 4385

SpringMVC+bootstrap-fileinput文件上传插件使用入门

项目需要使用了一款强大的bootstrap文件上传插件bootstrap-fileinput,https://github.com/kartik-v/bootstrap-fileinput/ 官网上的文档介绍比较精炼,自己的使用也比较浅,简单记录使用该控件的经验。后台使用SpingMVC。 截图: 控件元素代码: <script type="text/javascript" ...

weixin_34293141的博客 406

动手在 SAP BTP Cloud Foundry 开发和部署 SAP UI5 应用的前置条件 - 订阅 SAP Build Work Zone Standard Version

摘要:本文介绍了SAP BTP Cloud Foundry环境中HTML5应用的概念,区分了web应用、HTML5应用和SAP UI5应用的关系。重点说明了在Cloud Foundry环境部署HTML5应用的方法是通过订阅SAP Build Work Zone standard edition服务,并详细描述了订阅过程中可能遇到的"OIDC trust missing"错误。该错误是由于业务用户认证需要配置SAP Cloud Identity Services的OpenID Connec

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 312

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

bootstrap实现单页面跳转_SpringMVC+ajaxFileUpload.js实现文件上传

在项目中,经常用到的一个功能就是文件的上传和下载,不过大多数情况下都是通用的工具类,自己写的情况较少,这里写个通过Spring框架和ajaxFileUpload插件实现上传的小功能,做个练习和记录。首先配置下SpringMVC的配置文件,配置支持文件上传 然后写个简单的JSP页面,为了方便绑定数据,引入Spring自带的Form表单标签,引入语句 Form表单实现一个简...

weixin_39622905的博客 139

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SpringMVC + bootstrap fileupload 多文件上传

最近公司的项目要用到文件上传,然后发现单文件上传还是挺简单,但是多文件就有点麻烦了,废话不会说,多见谅,下面是正文: 首先在网上找到了swfUpload,个人感觉样子不太好看,效果如下: 然后我找到了bootstrap fileupload,先看效果图: 官网demo地址:http://plugins.krajee.com/file-input/demo

fanxiangru999的专栏 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java图片上传读条_spring MVC + bootstrap实现文件上传示例(带进度条)

最近学习了bootstrap,有结合了spring MVC写了个文件上传的示例,留做笔记,废话不多说,直接上代码监听器类FileUploadProgressListener.Javapackage com.gpl.web.listener;import javax.servlet.http.HttpSession;import org.apache.commons.fileupload.Progr...

weixin_39614094的博客 205

springMVC+bootstrap+angularJS(angular-file-upload控件)实现的文件上传

最近有个项目需求是上传文件,一般是压缩包。上传到服务器进行进一步的操作。且需要支持单、多文件上传 由于项目一直使用的是angularjs写的前端,所有学习研究了下它自己的上传插件,写了个demo。简单记录一下,留作笔记 angular-file-upload 插件的GitHub地址:点击跳转 api地址:点击跳转 官方案例:点击跳转 大部分逻辑都在代码注解中体现出来,不在累赘。直接贴代码 代码 1...

weixin_37701177的博客 638

【Spring】Spring MVC文件上传--整合bootstrap-fileinput和jQuery-File-Upload

前言 这里分享两个使用Spring MVC进行文件上传的简单示例, 分别整合bootstrap-fileinput 和 Jquery File Upload , 代码十分简单, 都是入门的示例,因此这里只给出运行的截图以及代码地址, 如果有兴趣的可以下载下来运行一下, 开发工具使用的是intellij idea 14, 关于如何导入项目可以参考这篇文章 . 运行截图 整合bootstra...

weixin_30448603的博客 79

springmvc+bootstrap +java jxl批量导入(excel)数据库-文件上传下载

导入maven依赖 <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency> <!– https:/...

图图是只猫 1528

Bootstrap框架---krajee插件fileinput--最好用的文件上传组件----单多张图片上传交互方式三(推荐)

我们在前一章已经实现了 Bootstrap框架---Uploadify插件----多张图片上传交互方式二 。 Bootstrap框架---Uploadify插件----多张图片上传交互方式二本章主要关注单多张图片上传在Bootstrap框架中的布局和实现。我们在之前的文章中已经在SpringMVC基础框架的基础上应用了BootStrap的后台框架,在此基础上记录 单多张图片上传在Bootstrap

直到世界的尽头 6204

java前后台开发之文件上传

入职java已经快2个月了。做了一个多月的改bug,6天的开发,刚做完一个文件上传,得好好整理下。 文件上传的大体思路其实是一样的,前端通过表单的方式上传,后端解析这个表单请求中的内容,得到文件部分的字段,再以流的形式读到内存中,后面怎么处理看业务了,比如保存到服务器等等。一、前端 对于我这种前端ui等比较差的,果断选择了bootstrap为我撑撑场面。不会的可以搜一搜学一学,挺好用的。就是为你提

kkae8643150的专栏 1万+
上一篇: 用eclipse导出可执行jar包
下一篇: bootstrap+springmvc 文件下载
Java程序之猿
博客等级 码龄9年 2599粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值