最是人间留不住,朱颜辞镜花辞树。
文件上传是一个老生常谈的话题了,示例为在Maven,SpringBoot技术下实现的简单文件上传。
使用依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
前端代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>上传测试</title>
</head>
<body>
<form action="http://localhost:8080/demo/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
后端代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
@RequestMapping("/demo")
public class DemoController {
private static final Logger logger = LoggerFactory.getLogger(DemoController.class);
/**
* 文件上传并保存到本地。
* @param multipartFile
* @return
*/
@PostMapping("upload")
public void upload(@RequestParam("file") MultipartFile multipartFile) {
System.out.println("开始处理文件。");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH-mm-ss");//设置日期格式。
String time = df.format(new Date());// new Date()为获取当前系统时间。
String savePath = "E:\\TestAudio\\downLoad";
String fileName = time+multipartFile.getOriginalFilename();
File file = new File(savePath+File.separator+fileName);
try {
multipartFile.transferTo(file);
System.out.println("文件写入成功。");
} catch (IOException e) {
e.printStackTrace();
System.out.println("文件写入失败。");
return;
}
}
}
实现效果