最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot+layui實現(xiàn)文件上傳功能

 更新時間:2018年09月05日 10:30:39   作者:藍胖子的白日夢  
Spring Boot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了SpringBoot+layui實現(xiàn)文件上傳,需要的朋友可以參考下

什么是spring boot

Spring Boot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。用我的話來理解,就是spring boot其實不是什么新的框架,它默認配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道這樣比喻是否合適)。

頁面代碼(只需要引入基礎(chǔ)layui的css與js)

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
 <legend>多文件列表上傳</legend>
</fieldset> 
<div class="layui-upload">
 <button type="button" class="layui-btn layui-btn-normal" id="testList">選擇多文件</button> 
 <div class="layui-upload-list">
  <table class="layui-table">
   <thead>
    <tr><th>文件名</th>
    <th>大小</th>
    <th>狀態(tài)</th>
    <th>操作</th>
   </tr></thead>
   <tbody id="demoList"></tbody>
  </table>
 </div>
 <button type="button" class="layui-btn" id="testListAction">開始上傳</button>
</div>

JS

layui.use('upload', function(){
 var $ = layui.jquery
 ,upload = layui.upload;
 //多文件列表示例
 var demoListView = $('#demoList')
 ,uploadListIns = upload.render({
  elem: '#testList'
  ,url: 'upload/uploadFile'
  ,accept: 'file'
  ,multiple: true
  ,auto: false
  ,size: 5120
  ,bindAction: '#testListAction'
  ,choose: function(obj){  
   var files = this.files = obj.pushFile(); //將每次選擇的文件追加到文件隊列
   //讀取本地文件
   obj.preview(function(index, file, result){
    var tr = $(['<tr id="upload-'+ index +'">'
     ,'<td>'+ file.name +'</td>'
     ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>'
     ,'<td>等待上傳</td>'
     ,'<td>'
      ,'<button class="layui-btn layui-btn-mini demo-reload layui-hide">重傳</button>'
      ,'<button class="layui-btn layui-btn-mini layui-btn-danger demo-delete">刪除</button>'
     ,'</td>'
    ,'</tr>'].join(''));
    //單個重傳
    tr.find('.demo-reload').on('click', function(){
     obj.upload(index, file);
    });
    //刪除
    tr.find('.demo-delete').on('click', function(){
     delete files[index]; //刪除對應(yīng)的文件
     tr.remove();
     uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免刪除后出現(xiàn)同名文件不可選
    });
    demoListView.append(tr);
   });
  }
  ,done: function(res, index, upload){
   if(res.code == 0){ //上傳成功
    var tr = demoListView.find('tr#upload-'+ index)
    ,tds = tr.children();
    tds.eq(2).html('<span style="color: #5FB878;">上傳成功</span>');
    tds.eq(3).html(''); //清空操作
    return delete this.files[index]; //刪除文件隊列已經(jīng)上傳成功的文件
   }
   this.error(index, upload);
  }
  ,error: function(index, upload){
   var tr = demoListView.find('tr#upload-'+ index)
   ,tds = tr.children();
   tds.eq(2).html('<span style="color: #FF5722;">上傳失敗</span>');
   tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //顯示重傳
  }
 });
});

后臺接收

 public final static String UPLOAD_FILE_PATH = "D:\\uploadFile\\";
  @RequestMapping(value = "uploadFile")
  public String uploadImage(@RequestParam("file") MultipartFile file) {
    if (!file.isEmpty()) {
      Map<String, String> resObj = new HashMap<>(MAP_SIZE);
      try {
        BufferedOutputStream out = new BufferedOutputStream(
            new FileOutputStream(new File(UPLOAD_FILE_PATH, file.getOriginalFilename())));
        out.write(file.getBytes());
        out.flush();
        out.close();
      } catch (IOException e) {
        resObj.put("msg", "error");
        resObj.put("code", "1");
        return JSONObject.toJSONString(resObj);
      }
      resObj.put("msg", "ok");
      resObj.put("code", "0");
      return JSONObject.toJSONString(resObj);
    } else {
      return null;
    }
  }

總結(jié)

以上所述是小編給大家介紹的SpringBoot+layui實現(xiàn)文件上傳功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Spring注解驅(qū)動開發(fā)實現(xiàn)屬性賦值

    Spring注解驅(qū)動開發(fā)實現(xiàn)屬性賦值

    這篇文章主要介紹了Spring注解驅(qū)動開發(fā)實現(xiàn)屬性賦值,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • 關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)

    關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)

    這篇文章主要介紹了關(guān)于Jedis的用法以及Jedis使用Redis事務(wù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring配置文件解析之BeanDefinitionDocumentReader詳解

    Spring配置文件解析之BeanDefinitionDocumentReader詳解

    這篇文章主要介紹了Spring配置文件解析之BeanDefinitionDocumentReader詳解,Spring的xml配置文件解析成Document對象,接下來的解析處理工作是在BeanDefinitionDocumentReader中對Document對象進行解析,需要的朋友可以參考下
    2024-02-02
  • 初識Java環(huán)境變量配置及IDEA

    初識Java環(huán)境變量配置及IDEA

    這篇文章主要介紹了Java環(huán)境變量配置及IDEA,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 淺談選擇、冒泡排序,二分查找法以及一些for循環(huán)的靈活運用

    淺談選擇、冒泡排序,二分查找法以及一些for循環(huán)的靈活運用

    下面小編就為大家?guī)硪黄獪\談選擇、冒泡排序,二分查找法以及一些for循環(huán)的靈活運用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 多線程_解決Runnable接口無start()方法的情況

    多線程_解決Runnable接口無start()方法的情況

    這篇文章主要介紹了多線程_解決Runnable接口無start()方法的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • mybatisplus如何在xml的連表查詢中使用queryWrapper

    mybatisplus如何在xml的連表查詢中使用queryWrapper

    這篇文章主要介紹了mybatisplus如何在xml的連表查詢中使用queryWrapper,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • mybatis?mapper.xml?注釋帶參數(shù)的坑及解決

    mybatis?mapper.xml?注釋帶參數(shù)的坑及解決

    這篇文章主要介紹了mybatis?mapper.xml?注釋帶參數(shù)的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring?IOC容器使用詳細講解

    Spring?IOC容器使用詳細講解

    IOC-Inversion?of?Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計思想。這篇文章將為大家介紹一下Spring控制反轉(zhuǎn)IOC的原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-12-12
  • IDEA2020配置Git的方法步驟

    IDEA2020配置Git的方法步驟

    這篇文章主要介紹了IDEA2020配置Git的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評論

邵阳市| 甘孜| 外汇| 同心县| 田阳县| 松潘县| 子长县| 冷水江市| 昌邑市| 万安县| 玉溪市| 永州市| 丰顺县| 盐池县| 张北县| 比如县| 东乌珠穆沁旗| 澎湖县| 玉环县| 甘南县| 星座| 开江县| 丹江口市| 修武县| 交口县| 巴楚县| 博兴县| 香港| 山阳县| 清丰县| 荔浦县| 紫云| 威宁| 海门市| 廉江市| 温泉县| 苏尼特右旗| 体育| 通化市| 合肥市| 台南县|