SpringBoot实现文件上传
时间: 2024-05-03 10:03:52 浏览: 68
Springboot实现文件上传
SpringBoot提供了很方便的方式实现文件上传,以下是基本的实现步骤:
1. 添加依赖
在 pom.xml 文件中添加以下依赖:
```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>
<version>2.6</version>
</dependency>
```
2. 配置文件上传
在 application.properties 文件中添加以下配置:
```properties
# 文件上传配置
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=100MB
```
3. 编写文件上传接口
```java
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
try {
// 保存文件到服务器
String fileName = file.getOriginalFilename();
File dest = new File("文件保存路径" + fileName);
FileUtils.copyInputStreamToFile(file.getInputStream(), dest);
return "上传成功!";
} catch (IOException e) {
e.printStackTrace();
return "上传失败!";
}
}
}
```
在上面的代码中,我们使用了 MultipartFile 类型的参数来接收上传的文件,然后将文件保存到服务器中。
4. 前端上传文件
最后,我们需要在前端编写上传文件的代码,以下是一个简单的示例:
```html
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="file" name="file"/>
<input type="submit" value="上传"/>
</form>
```
在这个示例中,我们使用了 form 表单来实现文件上传,将 enctype 属性设置为 multipart/form-data,然后通过 input 标签的 type 属性设置为 file 来让用户选择文件,最后点击提交按钮可以将文件上传到服务器。
阅读全文