springboot项目图片上传
时间: 2023-07-02 22:23:54 浏览: 109
在 Spring Boot 项目中实现图片上传可以分为以下几个步骤:
1. 在 `pom.xml` 中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- 文件上传依赖 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
```
2. 在 `application.properties` 中添加以下配置:
```properties
# 文件上传最大限制
spring.http.multipart.max-file-size=10MB
spring.http.multipart.max-request-size=10MB
```
3. 创建一个上传文件的接口:
```java
@RestController
public class UploadController {
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) throws Exception {
if (file.isEmpty()) {
return "请选择文件";
}
// 获取文件名
String fileName = file.getOriginalFilename();
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
System.out.println("文件上传成功!文件名:" + fileName);
// 上传到本地磁盘
String filePath = "C:/upload/";
String path = filePath + fileName;
File dest = new File(path);
// 检测是否存在目录
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
}
// 保存文件
file.transferTo(dest);
return "上传成功";
}
}
```
4. 创建一个 HTML 页面,包含一个上传表单:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<label for="file">选择文件:</label>
<input type="file" name="file" id="file">
<input type="submit" value="上传">
</form>
</body>
</html>
```
5. 运行项目,访问 HTML 页面即可进行文件上传。
```python
注意:这里的上传目录为 C:/upload/,需要根据实际情况修改。同时也建议对上传的文件进行校验,避免上传危险文件。如果需要上传到云存储,可以使用阿里云 OSS 或七牛云等服务。
阅读全文