开发|Springboot简单实现文件上传

时间:2022-07-22
本文章向大家介绍开发|Springboot简单实现文件上传,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1 前言

下面是一个简单的在springboot项目里的实现文件上传简单例子。

2 创建一个Config

首先在config文件夹下创建一个MyWebConfig的配置类,用于配置资源映射路径。

图 2.1 配置类

然后编写这个类,首先就是注解@Configuration不要忘记了,否则配置不会生效;

需要实现一个WebMvcConfigurer的类,如下图2.1;

接着下面的方法里配置你想要的路径,

addResourceHandler:访问映射路径,

addResourceLocations:资源绝对路径。

图 2.1 配置类

3 Controller层

再是在controller层里进行接口以及操作的编写:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>

<script>

            $(document).ready(function(){

  $("#hide").click(function(){

    $("p").hide();

  });

  $("#show").click(function(){

    $("p").show();

  });

});    

</script>

</head>

<body>

<p>如果你点击“隐藏” 按钮,我将会消失。</p>

<button id="hide">隐藏</button>

<button id="show">显示</button>

</body>

</html>

首先就是也不要忘记注解@Controller,然后是Get接口,进入后面展示使用的页面,然后是Post接口,提交选择的图片等文件。(String解释:fileName:文件名、并且在后面由UUID和后缀名组成了新的唯一辨识文件名;suffixName:后缀名;filePath:上传文件后的路径)

4 页面

最后就是页面的内容,这里是使用了thymeleaf进行整合,也就是图片对应model.addAttribute的地方,同时表单中的enctype="multipart/form-data"的意思,是设置表单的MIME编码格式。

默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;

只有使用了multipart/form-data,才能完整的传递文件数据。

图 4.1 页面代码

图 4.2 页面效果

5 扩展提示

在使用时发现了一个问题,就是上传超过1M的图片或文件时会报错。

于是,需要设置一下:在application.properties 文件里加入如下配置:

#设置单个文件大小

spring.servlet.multipart.max-file-size= 100MB

#设置单次请求文件的总大小

spring.servlet.multipart.max-request-size= 100MB

这样就可以按自己的要求进行设置上传大小限制了。

END

主 编 | 张祯悦

责 编 | yellow