SpringBoot的文件上传
先在src/main/resources下新建一个static目录用以存放html页面,简单的html页面如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>SpringBoot文件上传</title>
</head>
<body>
<form action="FileUploadController" method="post" enctype="multipart/form-data">
上传文件:
<input type="file" name="filename" />
<br />
<input type="submit" />
</form>
</body>
</html>
注意一点时,form表单的提交方法为 method = "post"
然后就是Controller类的编写,如下:
package com.example.uploadfile.springbootupload.cont; import java.io.File;
import java.util.HashMap;
import java.util.Map; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; /**
*
* @author SpringBoot文件上传
*/
@RestController // 这个类下所有的方法的返回值都会自动进行json格式的转换
public class FileUploadController {
/*
* 处理文件上传
*/ // 路由映射
@RequestMapping("/FileUploadController")
public Map<String, Object> fileUpload(MultipartFile filename) throws Exception { // 这里的MultipartFile参数的命名最好和html中的一样(也就是filename)免去转换操作
System.out.print(filename.getOriginalFilename()); // 打印文件的原始名称
// 将文件进行保存
filename.transferTo(new File("e:/" + filename.getOriginalFilename()));
Map<String, Object> map = new HashMap<>(); // 处理异常
map.put("msg", "ok");
return map; } }
关于这个Controller类,上传文件成功后在控制台打印文件名,然后再将该文件保存至E盘
接着就是启动类的编写,如下:
package com.example.uploadfile.springbootupload; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; /**
*
* @author SpringBoot文件上传的启动类
*/
@SpringBootApplication
public class AppFile { public static void main(String[] args) {
// TODO Auto-generated method stub
SpringApplication.run(AppFile.class, args);
} }
需要注意一点的是,“Make sure that your main class is in a root package above other classes.”
然后构建运行就可以执行上传文件的操作了;
但是当你上传的文件大小超过10MB时,就会出现以下的错误。
由控制台的输出可知,上传的文件超过了默认大小,所以要在application.properties中修改一下配置信息;
一开始参照其他博客的修改是这样的
单个文件最大的大小
spring.http.multipart.maxFileSize=200MB
上传的总文件的大小
spring.http.multipart.maxRequestSize=200MB
但是还是出错,后来在spring官方指导上看到这个:
就试着修改成以下的这样
spring.servlet.multipart.maxFileSize=200MB
spring.servlet.multipart.maxRequestSize=200MB
再次运行时就阔以了!
而且Spring官网上也提供了很详细的指导!
SpringBoot的文件上传的更多相关文章
- SpringBoot图文教程4—SpringBoot 实现文件上传下载
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...
- SpringBoot 整合文件上传 elment Ui 上传组件
SpringBoot 整合文件上传 elment Ui 上传组件 本文章记录 自己学习使用 侵权必删! 前端代码 博主最近在学 elment Ui 所以 前端使用 elmentUi 的 upload ...
- springboot+web文件上传和下载
一.首先安装mysql数据库,开启web服务器. 二.pom.xml文件依赖包配置如下: <?xml version="1.0" encoding="UTF-8&q ...
- SpringBoot(3) 文件上传和访问
springboot文件上传 MultipartFile file,源自SpringMVC MultipartFile 对象的transferTo方法,用于文件保存(效率和操作比原先用FileOutS ...
- springBoot的文件上传功能
知识点: 后台:将上传的图片写入指定服务器路径,保存起来,返回上传后的图片路径(在springBoot中,参考博客:http://blog.csdn.net/change_on/article/det ...
- SpringBoot下文件上传与下载的实现
原文:http://blog.csdn.net/colton_null/article/details/76696674 SpringBoot后台如何实现文件上传下载? 最近做的一个项目涉及到文件上传 ...
- Angular14 利用Angular2实现文件上传的前端、利用springBoot实现文件上传的后台、跨域问题
一.angular2实现文件上传前端 Angular2使用ng2-file-upload上传文件,Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng ...
- springboot 修改文件上传大小限制
springboot 1.5.9文件上传大小限制spring:http:multipart:maxFileSize:50MbmaxRequestSize:50Mb springboot 2.0文件上传 ...
- SpringBoot实现文件上传
前言参考:快速开发第一个SpringBoot应用 这篇文章会讲解如何使用SpringBoot完成一个文件上传的过程,并且附带一些SpringBoot开发中需要注意的地方 首先我们写一个文件上传的htm ...
随机推荐
- JS传值中文乱码解决方案
JS传值中文乱码解决方案 一.相关知识 1,Java相关类: (1)java.net.URLDecoder类 HTML格式解码的实用工具类,有一个静态方法:public static String ...
- pagehelper调用mybatis报错java.lang.NoSuchMethodError:org.apache.ibatis.reflection.MetaObject.forObject
最近在升新的基础框架到spring cloud,启动时pagehelper报错,如下: java.lang.NoSuchMethodError:org.apache.ibatis.reflection ...
- ssh连接出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
ssh远程连接的时候出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!连接失败 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- python简说(八)random
import randomprint(random.randint(1,23))#随机整数l=[1,2,3,4]s='abcdefeg'print(random.choice(s))#随机选择一个元素 ...
- win10 实现 iPad AVplayer 搭建 ftp 共享 PC 端
1.首先是 iPad 端直接去 App Store 下载 AVplayer 即可,我下载的时候这个APP收费 18 元.这个app内置了加速播放视频的功能,非常适合学习时使用. 2.PC 端搭建 ft ...
- topcoder srm 545 div1
problem1 link 这个可以贪心地从前向后构造.假设当前已经的字符串为$S$,对于一个字符$c$来说,设将$c$加到$S$后得到的新串为$S^{'}$.那么如果$X+Y+Z \ge minIn ...
- topcoder srm 662 div1
problem1 link 首先枚举差值$d$,判断是否存在一个序列任意连续两个之间的差值小于$d$. 首先将数字排序,然后从小到大依次放置每一个数字.每个当前的数字有两个位置可以放,当前序列的前面或 ...
- C# 反射小结
废话不多说,直接上代码. 1.typeof(类名):它是一个运算符 eg_1:Type type = typeof(int) ; eg_2:public class Student { Type ty ...
- Python3基础 list reverse 反转列表
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- bzoj1566: [NOI2009]管道取珠 DP
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1566 思路 n个球,第i个球颜色为ai,对于颜色j,对答案的贡献为颜色为j的球的个数的平 ...