SpringBoot如何上传图片

所属分类: 软件编程 / java 阅读数: 220
收藏 0 赞 0 分享

1.前端准备

<%@ page language="java" contentType="text/html; charset=UTF-8" 
 pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
  <h1>实现文件长传</h1> 
  <!--enctype="开启多媒体标签" --> 
  <form action="http://localhost:8091/filetest" method="post" 
 enctype="multipart/form-data"> 
   <input name="fileImage" type="file" /> 
   <input type="submit" value="提交"/> 
  </form> 
</body> 
</html>

2.实现文件上传的步骤说明

package com.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 上传图片的资料请关注脚本之家其它相关文章!

更多精彩内容其他人还在看

Java基于反射机制实现全部注解获取的方法示例

这篇文章主要介绍了Java基于反射机制实现全部注解获取的方法,结合实例形式分析了java反射机制获取注解的具体实现方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java 信号量Semaphore的实现

这篇文章主要介绍了Java 信号量Semaphore的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

eclipse+maven+spring mvc项目基本搭建过程

这篇文章主要介绍了eclipse+maven+spring mvc项目基本搭建过程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring boot集成swagger2生成接口文档的全过程

这篇文章主要给大家介绍了关于Spring boot集成swagger2生成接口文档的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Java冒泡排序法和选择排序法的实现

这篇文章主要介绍了Java冒泡排序法和选择排序法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Cloud Alibaba教程之Sentinel的使用

这篇文章主要介绍了Spring Cloud Alibaba教程之Sentinel的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Josephus环的四种解法(约瑟夫环)基于java详解

这篇文章主要介绍了Josephus环的四种解法(约瑟夫环)基于java详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java继承Thread类创建线程类示例

这篇文章主要介绍了Java继承Thread类创建线程类,结合实例形式分析了java线程操作相关使用技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java使用Callable和Future创建线程操作示例

这篇文章主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

springBoot使用JdbcTemplate代码实例

这篇文章主要介绍了springBoot使用JdbcTemplate代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多