关于springboot:SpringBoot中关于图片的上传入门

3次阅读

共计 2086 个字符,预计需要花费 6 分钟才能阅读完成。

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();  
        } 
正文完
 0