SpringBoot如何上传图片

时间:2021-05-20

1.前端准备

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://.jt.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; @RestController public class FileTestController { @RequestMapping("/filetest") public String file(MultipartFile fileImage){ String fileDir = "F:/CloudMusic/images"; File file = new File(fileDir); if(!file.exists()){ file.mkdirs(); } String fileName = fileImage.getOriginalFilename(); File imageFile = new File(fileDir+"/"+fileName); try { fileImage.transferTo(imageFile);//Transfer the received file to the given destination file. }catch(IOException e){ e.printStackTrace(); } return "ok"; } }

3.代码解释

3.1 前提

MultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称。

public String file(MultipartFile fileImage){}<form action="http://localhost:8091/filetest" method="post" enctype="multipart/form-data"> <input name="fileImage" type="file" /> <input type="submit" value="提交"/> </form>

3.2 封装文件的上传路径

封装文件上传的路径,如果文件存在直接封装,如果文件不存在使用 file.mkdirs() 方法创建多级目录

String fileDir = "F:/CloudMusic/images"; File file = new File(fileDir); if(!file.exists()){ file.mkdirs(); }

3.3 封装文件的名称

fileImage.getOriginalFilename()//Return the original filename in the client's filesystem. 返回客户端文件系统中的原始文件名。

String fileName = fileImage.getOriginalFilename(); File imageFile = new File(fileDir+"/"+fileName);

3.4 文件的上传

fileImage.getOriginalFilename()//Transfer the received file to the given destination file. 将接收到的文件传输到给定的目标文件。

try { fileImage.transferTo(imageFile);//Transfer the received file to the given destination file. }catch(IOException e){ e.printStackTrace(); }

以上就是SpringBoot如何上传图片的详细内容,更多关于SpringBoot 上传图片的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章