您的位置 首页 java

实用技术 | Spring Boot 上传图片完整示例

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

1. pom .xml

<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>
 

2. application.properties

spring. servlet .multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size=10MB
 

3. html

upload.html

<!DOCTYPE html>
<html xmlns:th="">
<body>
<h1>Spring Boot  file  upload example</h1>
<form method="POST" action="/upload" enctype="multipart/form-data">
 <input type="file" name="file" /><br/><br/>
 <input type="submit" value="提交" />
</form>
</body>
</html>
 

resut.html

<!DOCTYPE html>
<html lang="en" xmlns:th="">
<body>
<div th:if="${ message }">
 <h2 th:text="${message}"/>
</div>
</body>
</html>
 

4. SampleController

@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();
 }
} 
 

5.访问 localhost:8080/

选择上传文件进行上传

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

文章来源:智云一二三科技

文章标题:实用技术 | Spring Boot 上传图片完整示例

文章地址:https://www.zhihuclub.com/174643.shtml

关于作者: 智云科技

热门文章

网站地图