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

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

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 的文件上傳基本一致,只需注意一些配置即可。
環境要求: 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存放靜態文件,比如 css、js、image… templates 存放靜態頁面。先在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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产欧美一区二区三区免费看 | 日韩视频在线免费 | 亚1洲二区三区四区免费 | 精品国产品国语在线不卡丶 | 91tv破解版不限次数 | 日日夜夜撸影院 | 欧美福利二区 | 日韩欧美一区二区不卡 | 农村美女沟厕嘘嘘被偷看 | 五月激情丁香婷婷综合第九 | 久久精品国产视频澳门 | 成人青青草 | 国产老太婆hd老头 | 久久综合给合久久狠狠狠… | 日本中文字幕在线观看视频 | 好大好深受不了了快进来 | 人人爱天天做夜夜爽88 | 亚洲精品第一国产综合高清 | 91亚洲精品国产自在现线 | 91在线播 | 天天爱综合网 | 亚洲日韩精品欧美一区二区 | 国产裸舞福利资源在线视频 | 99国产精品免费观看视频 | 国产探花视频在线观看 | 日本视频一区在线观看免费 | 日本无遮挡亲吻膜下面免费 | 好姑娘完整版在线观看中文 | 新影音先锋男人色资源网 | 国产偷啪视频一区 | 国产精品久久免费 | 亚洲高清一区二区三区久久 | 含羞草传媒每天免费一次破解 | www四虎| 国产suv精品一区二区四区三区 | 国产黄频在线观看高清免费 | 1024免费永久福利视频 | 深夜影院深a | 边吃奶边扎下面 | 456亚洲老头视频 | 国产99久久精品一区二区 |