0
点赞
收藏
分享

微信扫一扫

springBoot+下载


在springBoot我们上次文件和其他相比,就简单不少,现在我们在SpringBoot的基本框架基础上添加上传图片。

一:没有新的jar包,但是在原有的jar包中必须需要有如下jar包。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <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>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

二:准备上传页面以及返回的页面

上传页面upload.html:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<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="Submit" />
</form>
</body>
</html>

有结果的uploadResult.html:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<body>
<h1>Spring Boot - Upload Status</h1>
<div th:if="${message}">
    <h2 th:text="${message}"/>
</div>
</body>
</html>

三:写控制层controller


import java.io.IOException; 

import java.nio.file.Files; 

import java.nio.file.Path; 

import java.nio.file.Paths; 



import org.springframework.stereotype.Controller; 

import org.springframework.web.bind.annotation.RequestMapping; 

import org.springframework.web.bind.annotation.RequestMethod; 

import org.springframework.web.bind.annotation.RequestParam; 

import org.springframework.web.multipart.MultipartFile; 

import org.springframework.web.servlet.mvc.support.RedirectAttributes; 



@Controller 

public class UploadController { 



 private static String UPLOADED_FOLDER = "C://temp//"; 



 @RequestMapping(value = "/upload", method = RequestMethod.GET) 

 public String upload() { 

 return "upload"; 

 } 



 @RequestMapping(value = "/upload", method = RequestMethod.POST) 

 public Object uploadResult(@RequestParam("file") MultipartFile file, RedirectAttributes redirectAttributes) { 

 if (file.isEmpty()) { 

 redirectAttributes.addFlashAttribute("message", "Please select a file to upload"); 

 return "redirect:uploadStatus"; 

 } 



 try { 

 // Get the file and save it somewhere 

 byte[] bytes = file.getBytes(); 

 Path path = Paths.get(UPLOADED_FOLDER + file.getOriginalFilename()); 

 Files.write(path, bytes); 



 redirectAttributes.addFlashAttribute("message", 

 "You successfully uploaded '" + file.getOriginalFilename() + "'"); 



 } catch (IOException e) { 

 e.printStackTrace(); 

 } 



 return "uploadResult"; 

 } 



}

四:执行localhos:8080/upload.html  。 

举报

相关推荐

0 条评论