Spring Boot 上传图片完整示例代码

1. pom.xml

<code><dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-web/<artifactid>
/<dependency>
<dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-starter-thymeleaf/<artifactid>
/<dependency>/<code>

2. application.properties

<code>spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size=10MB/<code>

3. html

upload.html

<code>


Spring Boot file upload example




/<code>

resut.html

<code>






/<code>

4. SampleController

<code>@Controller
public class SampleController {
@GetMapping("/")
public String upload() {
return "upload";
}
@RequestMapping("/result")
public String result() {
return "result";
}
@PostMapping("/upload")
public String singleFileUpload(@RequestParam("file") MultipartFile file, RedirectAttributes redirectAttributes) {
if (file.isEmpty()) {
redirectAttributes.addFlashAttribute("message", "Please select a file to upload");
return "redirect:result";
}
try {
// Get the file and save it somewhere
byte[] bytes = file.getBytes();
Path path = Paths.get(uploadDirectory() + "/" + file.getOriginalFilename());
Files.write(path, bytes);
redirectAttributes.addFlashAttribute("message",
file.getOriginalFilename() + " upload success");
} catch (IOException e) {
e.printStackTrace();
}
return "redirect:/result";
}
private String uploadDirectory() throws FileNotFoundException {
//获取跟目录
File path = new File(ResourceUtils.getURL("classpath:").getPath());
if(!path.exists()) path = new File("");
System.out.println("path:"+path.getAbsolutePath());
//如果上传目录为/static/images/upload/,则可以如下获取:
File upload = new File(path.getAbsolutePath(),"static/upload/");
if(!upload.exists()) upload.mkdirs();
System.out.println("upload url:"+upload.getAbsolutePath());
//在开发测试模式时,得到的地址为:{项目跟目录}/target/static/images/upload/
//在打包成jar正式发布时,得到的地址为:{发布jar包目录}/static/images/upload/
return upload.getAbsolutePath();
}
} /<code>

5.访问 localhost:8080/

选择上传文件进行上传

干货 | Spring Boot 上传图片完整示例代码

干货 | Spring Boot 上传图片完整示例代码

干货 | Spring Boot 上传图片完整示例代码

本号主要用于分享企业中常用的技术,更加侧重于实用,欢迎关注,便于浏览其它更多实用的历史文章。


分享到:


相關文章: