国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 13:14:10
字體:
來源:轉載
供稿:網友

前端代碼:

<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";  }

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

可以修改后端方法為:

復制代碼 代碼如下:

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

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

<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>

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九龙城区| 大连市| 永泰县| 黎川县| 津市市| 咸丰县| 崇信县| 中山市| 缙云县| 繁昌县| 新余市| 蒲江县| 昭觉县| 霍林郭勒市| 澎湖县| 张家口市| 九寨沟县| 衡阳县| 米脂县| 许昌市| 沂源县| 普兰县| 西盟| 兰考县| 沐川县| 华蓥市| 宜阳县| 尉氏县| 顺义区| 乐亭县| 六盘水市| 红安县| 金阳县| 武隆县| 邢台县| 万安县| 观塘区| 铁岭市| 宜君县| 紫云| 彭泽县|