您的位置:首页 > 编程语言 > Java开发

Spring Boot - Web 应用开发 - 文件上传

2018-03-17 01:05 597 查看
Spring Boot 默认使用 Spring MVC 包装好的解析器进行上传

添加代码

<form method="post" enctype="multipart/form-data" action="/file/upload">
文件:<input type="file" name="file">
<input type="button" value="上传">
</form>


@Controller
@RequestMapping("/file")
public class FileController {
private static Logger logger = LoggerFactory.getLogger(FileController.class);

@RequestMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "文件为空";
}

// 获取文件名
String fileName = file.getName();
logger.info("上传文件名为:" + fileName);

// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
logger.info("上传的后缀名为:" + suffixName);

// 文件上传路径
String filePath = "D:/tempFile";

// 解决中文问题,Linux 下中文路径,图片显示问题
// fileName = UUID.randomUUID() + suffixName;

File dest = new File(filePath + fileName);

// 检查是否存在目录
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}

try {
file.transferTo(dest);
return "上传成功";
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

return "上传失败";
}

}


配置(已被弃用)

spring.http.multipart.enabled=true
spring.http.multipart.file-size-threshold=0
spring.http.multipart.location=
spring.http.multipart.max-file-size=1MB
spring.http.multipart.max-request-size=10Mb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: