亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Spring boot實現文件上傳功能

2024-07-14 08:41:22
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Spring boot實現文件上傳的具體代碼,供大家參考,具體內容如下

1. 創建一個Maven的web工程,然后配置pom.xml文件,增加依賴:

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId>  <version>1.0.2.RELEASE</version> </dependency> 

2. 在webapp目錄下的index.jsp文件中輸入一個表單:

<html> <body> <form method="POST" enctype="multipart/form-data" action="/upload">  File to upload: <input type="file" name="file"><br />  Name: <input type="text" name="name"><br /> <br />  <input type="submit" value="Upload">   Press here to upload the file! </form> </body> 

這個表單就是我們模擬的上傳頁面

3. 編寫處理這個表單的Controller:

import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream;  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.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile;  @Controller public class FileUploadController {   @RequestMapping(value="/upload", method=RequestMethod.GET)  public @ResponseBody String provideUploadInfo() {   return "You can upload a file by posting to this same URL.";  }   @RequestMapping(value="/upload", method=RequestMethod.POST)  public @ResponseBody String handleFileUpload(@RequestParam("name") String name,    @RequestParam("file") MultipartFile file){   if (!file.isEmpty()) {    try {     byte[] bytes = file.getBytes();     BufferedOutputStream stream =       new BufferedOutputStream(new FileOutputStream(new File(name + "-uploaded")));     stream.write(bytes);     stream.close();     return "You successfully uploaded " + name + " into " + name + "-uploaded !";    } catch (Exception e) {     return "You failed to upload " + name + " => " + e.getMessage();    }   } else {    return "You failed to upload " + name + " because the file was empty.";   }  }  } 

4. 然后我們對上傳的文件做一些限制,同時編寫main方法來啟動這個web :

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.embedded.MultiPartConfigFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;  import javax.servlet.MultipartConfigElement;  @Configuration @ComponentScan @EnableAutoConfiguration public class Application {   @Bean  public MultipartConfigElement multipartConfigElement() {   MultiPartConfigFactory factory = new MultiPartConfigFactory();   factory.setMaxFileSize("128KB");   factory.setMaxRequestSize("128KB");   return factory.createMultipartConfig();  }   public static void main(String[] args) {   SpringApplication.run(Application.class, args);  } } 

5. 然后訪問http://localhost:8080/upload就可以看到頁面了。

上面的例子是實現的是單個文件上傳的功能,假定我們現在要實現文件批量上傳的功能的話,我們只需要簡單的修改一下上面的代碼就行,考慮到篇幅的問題,下面只是貼出和上面不同的代碼,沒有貼出的說明和上面一樣。:

1.新增batchUpload.jsp文件

<html> <body> <form method="POST" enctype="multipart/form-data"   action="/batch/upload">  File to upload: <input type="file" name="file"><br />  File to upload: <input type="file" name="file"><br />  <input type="submit" value="Upload"> Press here to upload the file! </form> </body> </html> 

2. 新增BatchFileUploadController.java文件:

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 javax.servlet.http.HttpServletRequest; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.util.List;  /**  * Created by wenchao.ren on 2014/4/26.  */  @Controller public class BatchFileUploadController {   @RequestMapping(value="/batch/upload", method= RequestMethod.POST)  public @ResponseBody  String handleFileUpload(HttpServletRequest request){   List<MultipartFile> files = ((MultipartHttpServletRequest)request).getFiles("file");   for (int i =0; i< files.size(); ++i) {    MultipartFile file = files.get(i);    String name = file.getName();    if (!file.isEmpty()) {     try {      byte[] bytes = file.getBytes();      BufferedOutputStream stream =        new BufferedOutputStream(new FileOutputStream(new File(name + i)));      stream.write(bytes);      stream.close();     } catch (Exception e) {      return "You failed to upload " + name + " => " + e.getMessage();     }    } else {     return "You failed to upload " + name + " because the file was empty.";    }   }   return "upload successful";  } } 

這樣一個簡單的批量上傳文件的功能就ok了,是不是很簡單啊。

注意:上面的代碼只是為了演示而已,所以編碼風格上采取了隨性的方式,不建議大家模仿。

參考資料:MultipartResolver實現文件上傳功能

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。

1. MultipartResolver也可以實現文件上傳功能。參考文章:


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色偷偷91综合久久噜噜| 国产精品久久久久久久久久久久久久| 中文字幕亚洲一区二区三区五十路| 亚洲欧美精品在线| 国产美女久久久| 欧美日韩在线一区| 免费不卡在线观看av| 久久国产精品网站| 成人高清视频观看www| 久久久免费精品视频| 亚洲成色999久久网站| 久久久最新网址| 欧美大片免费看| 亚洲精品久久久久久久久久久久久| 亚洲精品黄网在线观看| 亚洲免费视频在线观看| 热re91久久精品国99热蜜臀| 欧美插天视频在线播放| 欧美丰满老妇厨房牲生活| 亚洲aa在线观看| 日韩第一页在线| 国模视频一区二区三区| 中文字幕亚洲一区在线观看| 欧美高清激情视频| 亚洲精品一区av在线播放| 亚洲免费一级电影| 久久久成人的性感天堂| 久久精品99久久久久久久久| 久久久久久久国产| 亚洲在线www| 国产精品小说在线| 亚洲欧美另类自拍| 97在线免费观看| 亚洲成人激情小说| 亚洲免费一在线| 国产成人在线亚洲欧美| 91福利视频在线观看| 丰满岳妇乱一区二区三区| 国产精品99一区| 国产精品久久久久久av下载红粉| 高清欧美一区二区三区| 日韩福利伦理影院免费| 欧美成人精品三级在线观看| 欧美黑人视频一区| 亚洲欧美日韩精品久久| 欧美激情区在线播放| 日韩激情视频在线播放| 久久久久久久久久久免费| www欧美xxxx| 欧美精品在线免费观看| 亚洲欧美综合区自拍另类| 91久久国产精品| 日韩精品一区二区视频| 欧美激情a在线| 亚洲精品视频免费在线观看| 91网在线免费观看| 国产精品视频在线播放| 日韩av高清不卡| 一本大道香蕉久在线播放29| 欧美乱大交xxxxx| 97超视频免费观看| 富二代精品短视频| 中文字幕久久精品| 国产精品大陆在线观看| 亚洲xxxxx性| 91精品国产成人www| 全色精品综合影院| 国产一区二区av| 中文字幕亚洲一区二区三区五十路| 亚洲第一偷拍网| 欧洲一区二区视频| 91在线高清免费观看| 九九精品在线观看| 国产欧美一区二区| 91豆花精品一区| 亚洲香蕉在线观看| 国产精品久久久亚洲| 欧美俄罗斯性视频| 97视频国产在线| 欧美大片免费观看在线观看网站推荐| 色婷婷久久av| 亚洲第一偷拍网| 国产精品久久久久久久久久久久久久| 欧美中文字幕在线观看| 国产精品视频一区国模私拍| 国产亚洲精品美女| 91沈先生作品| 北条麻妃在线一区二区| 91精品国产综合久久香蕉922| 日韩在线播放一区| 欧美丰满少妇xxxxx| 国产精品成人v| 欧美日韩国产精品一区二区三区四区| 中文字幕一区二区精品| 成人www视频在线观看| 亚洲最大福利视频网| 欧美日韩精品中文字幕| 亚洲三级 欧美三级| 午夜精品蜜臀一区二区三区免费| 欧美视频在线观看免费网址| 午夜精品三级视频福利| 国产一区二区三区18| 欧美精品在线看| 亚洲美女在线观看| 最近2019年中文视频免费在线观看| 日韩av在线一区| 日韩在线中文视频| 亚洲中国色老太| 国产精品视频自拍| 亚洲va欧美va国产综合剧情| 美女啪啪无遮挡免费久久网站| 亚洲开心激情网| 国产偷国产偷亚洲清高网站| 久久91精品国产| 久久久久国产一区二区三区| 成人有码在线播放| 久久久精品视频在线观看| 国产精品jizz在线观看麻豆| 97香蕉超级碰碰久久免费软件| 国产精品久久久久久久久久三级| 色婷婷**av毛片一区| 亚洲精品国产综合区久久久久久久| 亚洲精品www久久久久久广东| 日韩国产欧美区| 欧美日韩国产精品| 欧美午夜视频在线观看| 日本三级韩国三级久久| 成人黄色网免费| 国产福利精品视频| 国产不卡视频在线| 欧美另类在线播放| 欧美裸体xxxx| 精品动漫一区二区三区| 国产欧美精品一区二区| 亚洲福利视频二区| 欧美精品18videosex性欧美| 国产视频自拍一区| 国产精品久久久久久久一区探花| 亚洲aa中文字幕| 97免费视频在线| 成人a在线视频| 亚洲精品一区在线观看香蕉| 青草青草久热精品视频在线观看| 国产精品三级美女白浆呻吟| 久久久久一本一区二区青青蜜月| 亚洲另类激情图| 国产成+人+综合+亚洲欧洲| 亚洲天堂成人在线视频| 欧美精品手机在线| 日韩成人av网址| 精品国产一区二区三区四区在线观看| 亚洲国产精品va在看黑人| 久久久久久久久久久免费精品| 日韩视频免费大全中文字幕| 日韩久久精品成人| 国产裸体写真av一区二区| 日韩精品在线观看网站| 欧美高清无遮挡| 久久亚洲电影天堂| 国产丝袜一区二区三区免费视频| 日韩午夜在线视频| 成人福利视频在线观看| 国产成+人+综合+亚洲欧美丁香花| 亚洲美女av黄|