Java实现文件上传保存

 更新时间:2022年06月23日 10:21:35   作者:hf寒沨  
这篇文章主要为大家详细介绍了Java实现文件上传保存,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java实现文件上传保存的具体代码,供大家参考,具体内容如下

框架

Spring Boot + FreeMarker + Ajax

第一次尝试Spring Boot 和FreeMarker, Spring Boot最大的感受是真的方便,约定大于配置,很多东西都是在使用过程中了解,看Spring Boot实战基本看完就忘得差不多…

后台

1. 从request获取到文件

MultipartFile类保存文件信息,文件上传放在request中,可debug查看request中实体观察到。

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
List<MultipartFile> files = multipartRequest.getFiles("img");

强制转换request获取MultipartHttpServletRequest,再获得MultipartFile文件

2. 写入上传文件夹

path在application.properties中定义,使用@Value标签注入。

/**
     * 保存图像
     *
     * @param img
     * @param userName
     * @return
     */
    private String writeImgToUpload(MultipartFile img, String userName) {
        // Tomcat 放在C盘中,可能无读写权限而写入失败
        // 写入目录文件
        // 获取文件格式
        String suffix = img.getOriginalFilename().substring(img.getOriginalFilename().lastIndexOf("."));
        // 目标文件路径+文件名
        String imgFile = path + userName + suffix;
        File toFile = new File(imgFile);
        if (!toFile.getParentFile().exists()) {
            // when file is not existed, will create.
            toFile.mkdirs();
        }
        // write to target file.
        try {
            img.transferTo(toFile);
            return imgFile;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

前端

<form class="form-horizontal" id="authForm" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <div class="col-sm-6">
            <b><label for="img">上传认证</label></b>
            <input type="file" id="img" name="img">
        </div>
    </div>

    <div class="row">
        <div class="col-xs-4">
            <button type="submit" class="btn btn-primary btn-block btn-flat">注册</button>
        </div>
    </div>
</form>

Ajax通信

submitHandler : function(form) {
            var file = new FormData();
            var img = $('#img')[0].files[0];
            file.append('img', img);
            $.ajax({
                url:base_url + "/auth/update",
                type: "POST",
                data: file,
                async: false,
                cache: false,
                contentType: false,
                processData: false,
                success: function (data) {
                    // 成功的回调
                    if (data.code == 200) {
                        layer.msg('认证成功');
                        setTimeout(function () {
                            window.location.href = base_url;
                        }, 500);
                    } else {
                        layer.open({
                            icon: '2',
                            content: (data.msg || '认证失败')
                        });
                    }
                }
            });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java生产者消费者模式实例分析

    Java生产者消费者模式实例分析

    这篇文章主要介绍了Java生产者消费者模式,结合实例形式分析了java生产者消费者模式的相关组成、原理及实现方法,需要的朋友可以参考下
    2019-03-03
  • java微信公众号开发案例

    java微信公众号开发案例

    这篇文章主要为大家详细介绍了java微信公众号开发案例,如何接入公众号,订阅号怎么样接收消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • SpringBoot使用责任链模式优化业务逻辑中的if-else代码

    SpringBoot使用责任链模式优化业务逻辑中的if-else代码

    在开发过程中,我们经常会遇到需要根据不同的条件执行不同的逻辑的情况,我们可以考虑使用责任链模式来优化代码结构,使得代码更加清晰、可扩展和易于维护
    2023-06-06
  • Java 实战项目之小说在线阅读系统的实现流程

    Java 实战项目之小说在线阅读系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现前台阅读后台管理的小说在线阅读系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • Java实现将word转换为html的方法示例【doc与docx格式】

    Java实现将word转换为html的方法示例【doc与docx格式】

    这篇文章主要介绍了Java实现将word转换为html的方法,结合实例形式分析了java针对doc与docx格式文件的相关转换操作技巧,需要的朋友可以参考下
    2019-03-03
  • Java向List集合中批量添加元素的实现方法

    Java向List集合中批量添加元素的实现方法

    这篇文章主要介绍了Java向List集合中批量添加元素的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Java网络编程基础用法详解

    Java网络编程基础用法详解

    网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来,本文将带大家详细了解Java的网络编程,文中有相关的代码示例,需要的朋友可以参考下
    2023-05-05
  • Java Swing JComboBox下拉列表框的示例代码

    Java Swing JComboBox下拉列表框的示例代码

    这篇文章主要介绍了Java Swing JComboBox下拉列表框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Java中多媒体文件上传及页面回显的操作代码

    Java中多媒体文件上传及页面回显的操作代码

    这篇文章主要介绍了Java中多媒体文件上传及页面回显的操作代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java 基于AQS实现一个同步器

    Java 基于AQS实现一个同步器

    这篇文章主要介绍了如何基于AQS实现一个同步器,帮助大家更好的理解和学习Java并发,感兴趣的朋友可以了解下
    2020-09-09

最新评论