SpringBoot的图片上传
在Spring Boot中实现图片上传功能,你可以使用MultipartFile
接口来处理上传的文件。以下是一个简单的例子:
- 首先,在
pom.xml
中添加Spring Boot的starter-web
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- 创建一个控制器来处理文件上传的HTTP请求:
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "文件为空,请选择一个文件上传。";
}
try {
// 获取文件的真实路径
String uploadDirectory = System.getProperty("user.dir") + "/uploads/";
File directory = new File(uploadDirectory);
if (!directory.exists()) {
directory.mkdirs();
}
// 保存文件
String filePath = uploadDirectory + file.getOriginalFilename();
file.transferTo(Paths.get(filePath));
return "文件上传成功:" + filePath;
} catch (IOException e) {
e.printStackTrace();
return "文件上传失败:" + e.getMessage();
}
}
}
- 在
application.properties
或application.yml
中配置Multipart请求的属性(可选):
spring.servlet.multipart.max-file-size=128KB
spring.servlet.multipart.max-request-size=128KB
- 运行Spring Boot应用,并使用表单或者客户端调用
/upload
接口上传文件。
确保你的应用有足够的权限来写入上传目录。上面的代码片段是一个非常基础的例子,实际应用中你可能需要添加更多的错误处理和安全措施。
评论已关闭