當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBoot 上传多个文件
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot 上传多个文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在之前都只是進行了單一的文件上傳,但是在很多的情況下是有可能要傳遞有多個文件的,所以這個時候首先要解決的問題是表單里面需要有多個上傳的項,而后在控制器上再進行一些簡單的處理器即可1、修改上傳表單:upload_page.html<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>SpringBoot模板渲染</title><link rel="icon" type="image/x-icon" href="/images/favicon.ico" /><meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body><form th:action="@{/upload}" method="post" enctype="multipart/form-data">姓名:<input type="text" name="name"><br>照片:<input type="file" name="photo"><br>照片:<input type="file" name="photo"><br>照片:<input type="file" name="photo"><br><input type="submit" value="上傳"></form>
</body>
</html>
2、修改控制器之中的參數接收,這個地方需要一點點特殊處理;package com.microboot.controller;import java.io.IOException;
import java.util.Iterator;
import java.util.List;import javax.servlet.http.HttpServletRequest;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.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;import com.microboot.util.controller.AbstractBaseController;@Controller
public class UploadController extends AbstractBaseController{@RequestMapping(value = "/uploadPre", method = RequestMethod.GET)public String uploadPre() { return "upload_page";}@RequestMapping(value = "/upload", method = RequestMethod.POST)@ResponseBodypublic String upload(String name,HttpServletRequest request) {// 如果你現在是MultipartHttpServletRequest的一個對象if(request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest)request;List<MultipartFile> files = mrequest.getFiles("photo");Iterator<MultipartFile> iter = files.iterator();while(iter.hasNext()) {MultipartFile photo = iter.next();// 現在有文件上傳if(photo!=null) {System.out.println("【*** 文件上傳 ***】 name=" + name);System.out.println("【*** 文件上傳 ***】 photoName="
+ photo.getName());System.out.println("【*** 文件上傳 ***】 photoContentType="
+ photo.getContentType());System.out.println("【*** 文件上傳 ***】 photoSize="
+ photo.getSize());try {photo.getInputStream();} catch (IOException e) {e.printStackTrace();}}}}return "upload_file";}}
多個上傳文件的信息要通過Spring包裹的Request對象獲得.
?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的SpringBoot 上传多个文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot 上传限制
- 下一篇: SpringBoot 基础拦截器