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

springMVC+ajax實現(xiàn)文件上傳且?guī)нM(jìn)度條實例

 更新時間:2017年01月18日 09:40:18   作者:肖哥哥  
本篇文章主要介紹了springMVC+ajax實現(xiàn)文件上傳且?guī)нM(jìn)度條實例,具有一定的參考價值,有興趣的可以了解一下。

前端代碼:

<form id= "uploadForm"> 
   <p >指定文件名: <input type="text" name="filename" value= ""/></p > 
   <p >上傳文件: <input type="file" name="file"/></ p> 
   <input type="button" value="上傳" onclick="doUpload()" /> 
</form> 

function doUpload() { 
   var formData = new FormData($( "#uploadForm" )[0]); 
   $.ajax({ 
     url: 'http://localhost:8080/xiaochangwei/file/upload' , 
     type: 'POST', 
     data: formData, 
     async: false, 
     cache: false, 
     contentType: false, 
     processData: false, 
     success: function (returndata) { 
       alert(returndata); 
     }, 
     error: function (returndata) { 
       alert(returndata); 
     } 
   }); 
}

后端:

@RequestMapping(value = "/upload", method = RequestMethod.POST)
  public String upload(HttpServletRequest request, @RequestParam("file") MultipartFile file, ModelMap model) {
    System.out.println("開始");
    String path = request.getSession().getServletContext().getRealPath("upload");
    String fileName = file.getOriginalFilename();
    // String fileName = new Date().getTime()+".jpg";
    System.out.println(path);
    File targetFile = new File(path, fileName);
    if (!targetFile.exists()) {
      targetFile.mkdirs();
    }

    // 保存
    try {
      file.transferTo(targetFile);
    } catch (Exception e) {
      e.printStackTrace();
    }
    model.addAttribute("fileUrl", request.getContextPath() + "/upload/" + fileName);
    return "result";
  }

如果前端有很多實體類數(shù)據(jù)同文件一同提交

可以修改后端方法為:

復(fù)制代碼 代碼如下:

upload(HttpServletRequest request, @RequestParam("file") MultipartFile file, ModelMap model,User user)

利用下面的代碼更可實現(xiàn)帶有進(jìn)度條的文件上傳

<script type="text/javascript">

    function UpladFile() {
      var fileObj = document.getElementById("file").files[0]; // js 獲取文件對象
      var FileController = "http://localhost:8080/xiaochangwei/file/upload";          // 接收上傳文件的后臺地址 

      // FormData 對象
      var form = new FormData($( "#uploadForm" )[0]);

      // XMLHttpRequest 對象
      var xhr = new XMLHttpRequest();
      xhr.open("post", FileController, true);
      xhr.onload = function () {
        // alert("上傳完成!");
      };

      xhr.upload.addEventListener("progress", progressFunction, false);
      xhr.send(form);
    }

    function progressFunction(evt) {
      var progressBar = document.getElementById("progressBar");
      var percentageDiv = document.getElementById("percentage");
      if (evt.lengthComputable) {
        progressBar.max = evt.total;
        progressBar.value = evt.loaded;
        percentageDiv.innerHTML = Math.round(evt.loaded / evt.total * 100) + "%";
        if(evt.loaded==evt.total){
          alert("上傳完成100%");
        }
      }
    } 

  </script>
  

  <progress id="progressBar" value="0" max="100"></progress>


<form id= "uploadForm">

  <input type="file" id="file" name="myfile" />
  <input type="button" onclick="UpladFile()" value="上傳" />

</form>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java高級應(yīng)用:線程池的全面講解(干貨)

    java高級應(yīng)用:線程池的全面講解(干貨)

    這篇文章主要介紹了java高級應(yīng)用:線程池的全面講解(干貨),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 怎么把本地jar包放入本地maven倉庫和遠(yuǎn)程私服倉庫

    怎么把本地jar包放入本地maven倉庫和遠(yuǎn)程私服倉庫

    這篇文章主要介紹了怎么把本地jar包放入本地maven倉庫和遠(yuǎn)程私服倉庫的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • easycode配置成mybatis-plus模板的實現(xiàn)方法

    easycode配置成mybatis-plus模板的實現(xiàn)方法

    本文主要介紹了easycode配置成mybatis-plus模板的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • SpringCloud基本Rest微服務(wù)工程搭建過程

    SpringCloud基本Rest微服務(wù)工程搭建過程

    這篇文章主要介紹了SpringCloud基本Rest微服務(wù)工程搭建,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • JVM內(nèi)存模型知識點總結(jié)

    JVM內(nèi)存模型知識點總結(jié)

    在本篇文章里小編給大家分享了關(guān)于JVM內(nèi)存模型的學(xué)習(xí)心得以及相關(guān)知識點總結(jié),有興趣的朋友們跟著學(xué)習(xí)下。
    2019-05-05
  • 淺析JDBC的使用方法

    淺析JDBC的使用方法

    這篇文章主要介紹了JDBC的使用方法,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-08-08
  • java8保姆級lambda表達(dá)式教程

    java8保姆級lambda表達(dá)式教程

    這篇文章主要介紹了Java8之后的Lambda表達(dá)式的用法,lambda表達(dá)式將大量替代匿名內(nèi)部類的使用,簡化代碼的同時,更突出了原來匿名內(nèi)部類中最重要的那部分包含真正邏輯的代碼,需要的朋友可以參考下
    2023-03-03
  • java網(wǎng)上圖書商城(6)訂單模塊1

    java網(wǎng)上圖書商城(6)訂單模塊1

    這篇文章主要為大家詳細(xì)介紹了java網(wǎng)上圖書商城,訂單模塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Java中的LinkedHashSet源碼解讀

    Java中的LinkedHashSet源碼解讀

    這篇文章主要介紹了Java中的LinkedHashSet源碼解讀,LinkedHashSet?是?Java?中的一個集合類,它是?HashSet?的子類,并實現(xiàn)了?Set?接口,與?HashSet?不同的是,LinkedHashSet?保留了元素插入的順序,并且具有?HashSet?的快速查找特性,需要的朋友可以參考下
    2023-09-09
  • 一段眼睛跟著鼠標(biāo)轉(zhuǎn)動的跟蹤眼代碼

    一段眼睛跟著鼠標(biāo)轉(zhuǎn)動的跟蹤眼代碼

    java實現(xiàn)的眼睛跟著鼠標(biāo)轉(zhuǎn)動的跟蹤眼代碼
    2008-10-10

最新評論

集贤县| 肃南| 衢州市| 嘉善县| 扎鲁特旗| 仁怀市| 灌南县| 霞浦县| 垣曲县| 保定市| 文登市| 阳谷县| 内乡县| 菏泽市| 昆山市| 通河县| 长乐市| 林甸县| 海伦市| 乌拉特后旗| 天全县| 临清市| 河西区| 琼结县| 沈丘县| 新民市| 东方市| 新乡市| 怀柔区| 平舆县| 天水市| 盐津县| 临汾市| 肇庆市| 靖远县| 浮梁县| 尼玛县| 武安市| 兴国县| 乌兰县| 南平市|