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

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

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

服務器之家 - 編程語言 - Java教程 - springMVC+ajax實現文件上傳且帶進度條實例

springMVC+ajax實現文件上傳且帶進度條實例

2020-07-28 14:18肖哥哥 Java教程

本篇文章主要介紹了springMVC+ajax實現文件上傳且帶進度條實例,具有一定的參考價值,有興趣的可以了解一下。

前端代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<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);
     }
   });
}

后端:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@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";
  }

如果前端有很多實體類數據同文件一同提交

可以修改后端方法為:

 

復制代碼 代碼如下:

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

 

利用下面的代碼更可實現帶有進度條文件上傳

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<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>

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

原文鏈接:http://www.cnblogs.com/xiaochangwei/p/5239104.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人的j伸到女人的屁股眼 男人吃奶动态图 | 无人区国产大片 | 日韩专区在线观看 | 小鸟酱喷水 | 美国女网址www呦女 美国复古性经典xxxxx | 国产在线一区二区视频 | 麻豆天美精东果冻传媒在线 | 公妇乱淫在线播放免费观看 | 日本www色| 亚洲日韩精品欧美一区二区一 | 久久久影院亚洲精品 | 欧美高清在线不卡免费观看 | 99re5精品视频在线观看 | 美女张开双腿让男人捅 | 亚洲 国产精品 日韩 | 韩国三级日本三级香港三级黄 | 国产成人亚洲精品91专区手机 | 51精品 | 俄罗斯大白屁股 | 午夜福利在线观看6080 | 97精品国产自在现线免费观看 | hd最新国产人妖ts视频 | 2020韩国r级理论片在线观看 | 日韩精品中文字幕久久 | 99热在线免费观看 | 鬼吹灯之天星术免费观看 | 明星ai人脸替换脸忘忧草 | 国产三级精品91三级在专区 | 亚洲国产第一 | 国产综合成人亚洲区 | 精品国产视频 | 国产片在线看 | 糖心在线观看 | 日本三级免费观看 | 17岁俄罗斯csgo | 免费大片a一级一级 | 和岳m的小说| 天天爽天天 | 3d蒂法受辱在线播放 | 欧美人曾交 | 99久久免费视频 |