下面是关于“SpringBoot实现单文件与多文件上传功能”的完整攻略:
1. 单文件上传功能实现
1.1. 添加依赖
首先,在pom.xml
文件中添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
1.2. 编写控制器
接下来,我们需要编写控制器来处理上传请求。为了实现单文件上传,我们只需要处理一个文件,并将其保存到指定位置即可。以下是代码示例:
@RestController
@RequestMapping("/upload")
public class UploadController {
@PostMapping("/singlefile")
public String uploadSingleFile(@RequestParam("file") MultipartFile file) throws IOException {
if (file.isEmpty()) {
return "文件不能为空!";
}
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
String fileName = UUID.randomUUID() + extName;
String filePath = "D:\\temp\\" + fileName;
File saveFile = new File(filePath);
file.transferTo(saveFile);
return "文件上传成功!";
}
}
1.3. 编写前端页面
最后,我们需要编写前端页面来测试上传功能。以下是代码示例:
<!DOCTYPE html>
<html>
<head>
<title>单文件上传</title>
</head>
<body>
<h2>单文件上传</h2>
<form method="post" action="/upload/singlefile" enctype="multipart/form-data">
<input type="file" name="file"/>
<br/><br/>
<input type="submit" value="上传文件"/>
</form>
</body>
</html>
制作好的页面中,只有一个上传组件,用户可以通过这个组件来上传文件,上传完成后页面会提示文件上传成功。
2. 多文件上传功能实现
2.1. 添加依赖
与单文件上传相同,多文件上传也需要依赖commons-fileupload
和commons-io
。在pom.xml
文件中添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
2.2. 编写控制器
接下来,我们需要编写控制器来处理上传请求。为了实现多文件上传,我们需要循环处理每个文件,并将它们分别保存到指定位置。以下是代码示例:
@RestController
@RequestMapping("/upload")
public class UploadController {
@PostMapping("/multifile")
public String uploadMultiFile(@RequestParam("files") MultipartFile[] files) throws IOException {
for (MultipartFile file : files) {
if (file.isEmpty()) {
continue;
}
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
String fileName = UUID.randomUUID() + extName;
String filePath = "D:\\temp\\" + fileName;
File saveFile = new File(filePath);
file.transferTo(saveFile);
}
return "文件上传成功!";
}
}
2.3. 编写前端页面
最后,我们需要编写前端页面来测试上传功能。以下是代码示例:
<!DOCTYPE html>
<html>
<head>
<title>多文件上传</title>
</head>
<body>
<h2>多文件上传</h2>
<form method="post" action="/upload/multifile" enctype="multipart/form-data">
<input type="file" name="files" multiple="multiple"/>
<br/><br/>
<input type="submit" value="上传文件"/>
</form>
</body>
</html>
页面中的上传组件设置了multiple
属性,表示可以选择多个文件。上传完成后页面会提示文件上传成功。
以上是关于“SpringBoot实现单文件与多文件上传功能”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot实现单文件与多文件上传功能 - Python技术站