一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 全面解析SpringBoot文件上傳功能

全面解析SpringBoot文件上傳功能

2021-02-06 12:26J_小浩子 Java教程

這篇文章主要為大家全面解析SpringBoot文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

這些天忙著刷題,又怕遺忘了spring boot, 所以抽出一點時間折騰折騰,加深點印象。
spring boot 的文件上傳與 spring mvc 的文件上傳基本一致,只需注意一些配置即可。
環(huán)境要求: spring boot v1.5.1.release + jdk1.7 + myeclipse

1).引入thymeleaf,支持頁面跳轉

?
1
2
3
4
5
<!-- 添加thymeleaf -->
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-thymeleaf</artifactid>
 </dependency>

2).在 src/main/resources 目錄下新建 static 目錄和 templates 目錄。 static存放靜態(tài)文件,比如 css、js、image… templates 存放靜態(tài)頁面。先在templates 中新建一個 uploadimg.html

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!doctype html>
<html>
 <head>
  <title>uploadimg.html</title>
 
  <meta name="keywords" content="keyword1,keyword2,keyword3"></meta>
  <meta name="description" content="this is my page"></meta>
  <meta name="content-type" content="text/html; charset=utf-8"></meta>
 
  <!--<link rel="stylesheet" type="text/css" href="./styles.css" rel="external nofollow" >-->
 
 </head>
 
 <body>
 <form enctype="multipart/form-data" method="post" action="/testuploadimg">
  圖片<input type="file" name="file"/>
  <input type="submit" value="上傳"/>
  </form>
 </body>
</html>

3).在 controller 中寫兩個方法,一個方法跳轉到上傳文件的頁面,一個方法處理上傳文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//跳轉到上傳文件的頁面
  @requestmapping(value="/gouploadimg", method = requestmethod.get)
  public string gouploadimg() {
    //跳轉到 templates 目錄下的 uploadimg.html
    return "uploadimg";
  }
 
  //處理文件上傳
  @requestmapping(value="/testuploadimg", method = requestmethod.post)
  public @responsebody string uploadimg(@requestparam("file") multipartfile file,
      httpservletrequest request) {
    string contenttype = file.getcontenttype();
    string filename = file.getoriginalfilename();
    /*system.out.println("filename-->" + filename);
    system.out.println("getcontenttype-->" + contenttype);*/
    string filepath = request.getsession().getservletcontext().getrealpath("imgupload/");
    try {
      fileutil.uploadfile(file.getbytes(), filepath, filename);
    } catch (exception e) {
      // todo: handle exception
    }
    //返回json
    return "uploadimg success";
  }

4).在上面中,我將文件上傳的實現寫在工具類 fileutil 的 uploadfile 方法中

?
1
2
3
4
5
6
7
8
9
10
public static void uploadfile(byte[] file, string filepath, string filename) throws exception {
    file targetfile = new file(filepath);
    if(!targetfile.exists()){ 
      targetfile.mkdirs(); 
    }   
    fileoutputstream out = new fileoutputstream(filepath+filename);
    out.write(file);
    out.flush();
    out.close();
  }

5).在瀏覽器輸入http://localhost:8080/gouploadimg 測試

全面解析SpringBoot文件上傳功能

上傳文件后:

全面解析SpringBoot文件上傳功能

在應用的 src/main/webapp/imgupload 目錄下

全面解析SpringBoot文件上傳功能

6).如果上傳的文件大于 1m 時,上傳會報錯文件太大的錯誤,在 application.properties 中設置上傳文件的參數即可

?
1
2
spring.http.multipart.maxfilesize=100mb
spring.http.multipart.maxrequestsize=100mb

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/change_on/article/details/59529034

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 嫩草影院永久在线播放 | 好大好硬好深好爽想要小雪 | 日韩欧美精品一区二区 | 四虎影视在线看免费 720p | 国产精品nv在线观看 | 天海翼最新 | 国产3344视频在线观看免费 | 91茄子| 男人天堂网www | 91制片厂 果冻传媒 天美传媒 | 黄a一级 | 国内精品久久久久久不卡影院 | 亚洲精品久久久久福利网站 | 国产日韩欧美在线一二三四 | 色老板视频在线 | 四虎在线成人免费网站 | 亚洲国产福利精品一区二区 | 青青在线观看 | 性白俄罗斯高清xxxxx | 亚洲国产欧美在线成人aaaa | 亚洲国产情侣偷自在线二页 | 美女脱了内裤打开腿让人羞羞软件 | 美女脱了内裤打开腿让人羞羞软件 | 紧身裙女教师波多野结衣 | 好大用力深一点视频 | 免费观看成年人视频 | 草嫩社区| 九九精品影院 | 欧美成人aa久久狼窝动画 | 香蕉 在线播放 | 久久久黄色片 | 亚洲h片 | a在线观看欧美在线观看 | 久久99国产视频 | 黑人巨鞭大战白妞10级 | 精品成人在线 | 久久这里有精品 | 日本一区二区三区精品 | 天天快乐高清在线观看 | 五月天狠狠| 大ji吧快给我别停受不了视频 |