Spring Boot实现文件上传
来源:互联网 发布:java并发编程 用途 编辑:程序博客网 时间:2024/05/22 15:49
一、文件上传的配置
Spring Boot默认支持文件上传,对文件上传支持友好。对上传进行配置如下:
# 配置上传参数spring: http: multipart: enabled: true # 默认支持文件上传 file-size-threshold: 0 # 支持文件写入磁盘 max-file-size: 50MB # 最大文件上传大小 max-request-size: 100MB # 最大支持请求大小
Spring Boot
默认支持文件上传,enabled
这个可以不用配置,默认支持将文件写入磁盘,默认最大文件大小是1MB,默认最大请求大小是10MB,后面两个参数常常需要自己重新配置才能达到要求。
二、编写文件上传的Controller
前端页面的上传模块可以按照如下编写:
<form method="POST" enctype="multipart/form-data" action="/index/fileupload"> 文件:<input type="file" name="lemonFile"/> <input type="submit" value="上传"/></form>
注意:表单中方法必须是POST,enctype和action都必须设置。
文件上传的Controller如下:
package com.lemon.springboot.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import java.io.File;import java.io.IOException;import java.util.UUID;/** * @author lemon */@Controller@RequestMapping("/index")public class IndexController { private static final Logger logger = LoggerFactory.getLogger(IndexController.class); @RequestMapping public String index() { logger.info("访问主页"); return "index"; } @RequestMapping(value = "/fileupload", method = RequestMethod.POST) @ResponseBody public String upload(@RequestParam("lemonFile") MultipartFile file) { logger.info("文件上传方法访问成功"); if (file.isEmpty()) { return "文件上传失败"; } // 获取文件名 String originalFilename = file.getOriginalFilename(); logger.info("上传文件的文件名是:" + originalFilename); // 获取文件后缀名 String suffixName = originalFilename.substring(originalFilename.lastIndexOf(".")); logger.info("上传文件的后缀名是:" + suffixName); // 设置文件上传绝对路径 String filePath = "/Users/lemon/IdeaProjects/springboot/upload/"; // 获取UUID名称 String fileName = UUID.randomUUID() + suffixName; // 获取上传文件的File对象 File dest = new File(filePath + fileName); // 开始上传 if (!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); } try { file.transferTo(dest); logger.info("上传成功"); return "上传成功"; } catch (IllegalStateException | IOException e) { e.printStackTrace(); logger.info(e.getMessage()); } return "上传失败"; }}
阅读全文
0 0
- Spring Boot实现文件上传
- spring boot+angularjs实现文件上传
- Spring boot 文件上传
- spring boot 文件上传
- Spring-boot 文件上传
- Spring Boot 文件上传
- spring-boot 文件上传
- spring boot实现文件上传下载以及多文件上传
- Spring boot 文件上传(多文件上传)
- spring boot文件上传【多文件上传】
- spring boot 使用MultipartFile实现文件上传报错。
- spring boot文件上传、下载
- 使用spring boot 上传文件
- spring boot MultipartFile[]文件上传
- spring boot之文件上传
- Spring Boot : 文件上传(八)
- Spring Boot 文件上传实例
- Spring Boot 上传文件(spring boot upload file)
- 最新版MySQL操作---语句规范
- SpringBoot小程序
- 我的学习资源
- ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。
- mongo我的库
- Spring Boot实现文件上传
- python中join()函数
- Could not update Activiti database schema: unknown version from database: '5.20.0.1'
- MAC上nginx启动,浏览器访问项目不识别问题
- (十六)eazyUI框架
- 安卓自定义界面——textview显示带小红点
- CentOS Vsftpd配置
- Canvas坐标的坑
- 数据库的基础管理