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

使用FormData實(shí)現(xiàn)上傳多個(gè)文件

 更新時(shí)間:2018年12月04日 15:06:07   作者:半笙彷徨  
這篇文章主要為大家詳細(xì)介紹了使用FormData實(shí)現(xiàn)上傳多個(gè)文件功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了FormData上傳多個(gè)文件的具體代碼,供大家參考,具體內(nèi)容如下

由于項(xiàng)目中使用到,特此寫個(gè)Demo

html代碼:

<html>
<head>
 <title>Title</title>
 <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<form enctype="multipart/form-data" id="form_example">
 <input type="file" id="files" multiple/><br/><br/>
 <input type="submit" value="提交"/>
</form>

<div id='file-list-display'></div>
</body>
</html>

js代碼:

<script type="text/javascript">
 $(document).ready(function () {
  var fileList = [];
  var fileCatcher = document.getElementById('form_example');
  var files = document.getElementById("files"), renderFileList;
  var fileListDisplay = document.getElementById('file-list-display'), sendFile;

  fileCatcher.addEventListener("submit", function (event) {
   event.preventDefault();
   //上傳文件
   sendFile();
  });

  files.addEventListener("change", function (event) {
   for (var i = 0; i < files.files.length; i++) {
    fileList.push(files.files[i]);
   }
   renderFileList();
  });

  renderFileList = function () {
   fileListDisplay.innerHTML = '';
   fileList.forEach(function (file, index) {
    var fileDisplayEl = document.createElement("p");
    fileDisplayEl.innerHTML = (index + 1) + ":" + file.name;
    fileListDisplay.appendChild(fileDisplayEl);
   })
  };

  sendFile = function () {
   var formData = new FormData();
   var request = new XMLHttpRequest();
   //循環(huán)添加到formData中
   fileList.forEach(function (file) {
    formData.append('files', file, file.name);
   })
   request.open("POST", "/test/upload.do");
   request.send(formData);
  }
 })
</script>

后端使用Spring MVC接收前端文件

配置multipart解析器:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
   p:defaultEncoding="utf-8"/>

Controller:

@RequestMapping("/upload.do")
@ResponseBody
public Object upload(@RequestParam MultipartFile[] files) {
  System.out.println(files.length);
  return "ok";
}

前端頁(yè)面:

請(qǐng)求:

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

相關(guān)文章

  • 微信小程序渲染性能調(diào)優(yōu)小結(jié)

    微信小程序渲染性能調(diào)優(yōu)小結(jié)

    這篇文章主要介紹了微信小程序渲染性能調(diào)優(yōu),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-07-07
  • 原生js實(shí)現(xiàn)下拉選項(xiàng)卡

    原生js實(shí)現(xiàn)下拉選項(xiàng)卡

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)下拉選項(xiàng)卡,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 如何利用JSHint減少JavaScript的錯(cuò)誤

    如何利用JSHint減少JavaScript的錯(cuò)誤

    JSHint是一個(gè)社區(qū)驅(qū)動(dòng)用來檢測(cè)JavaScript代碼中錯(cuò)誤和潛在的問題以及執(zhí)行團(tuán)隊(duì)的編碼規(guī)范工具。它非常靈活,因此可以很容易地適應(yīng)您特定的編碼規(guī)則和你的代碼執(zhí)行環(huán)境。JSHint將永遠(yuǎn)保持開源的方式。
    2016-08-08
  • HTML+CSS+JS實(shí)現(xiàn)抓娃娃機(jī)游戲

    HTML+CSS+JS實(shí)現(xiàn)抓娃娃機(jī)游戲

    這篇文章主要介紹了如何利用HTML+CSS+JS制作抓娃娃機(jī)游戲,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • js數(shù)組中刪除重復(fù)值的代碼小結(jié)

    js數(shù)組中刪除重復(fù)值的代碼小結(jié)

    最近需要用js控制數(shù)組,里面可能有一些重復(fù)的值,需要去掉,特為大家整理了這篇文章。
    2011-01-01
  • Javascript中匿名函數(shù)的調(diào)用與寫法實(shí)例詳解(多種)

    Javascript中匿名函數(shù)的調(diào)用與寫法實(shí)例詳解(多種)

    js中定義函數(shù)的方式有很多種,函數(shù)直接量就是其中一種,下面通過本文給大家介紹匿名函數(shù)是如何調(diào)用的及匿名函數(shù)的n中寫法,對(duì)js匿名函數(shù)調(diào)用,js匿名函數(shù)寫法相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • C#中TrimStart,TrimEnd,Trim在javascript上的實(shí)現(xiàn)

    C#中TrimStart,TrimEnd,Trim在javascript上的實(shí)現(xiàn)

    今天在后臺(tái)寫了個(gè)類,后來才發(fā)現(xiàn),需要在JS上做..于是把代碼拷到j(luò)s上進(jìn)行修改,代碼中用到TrimStart,TrimEnd,Trim等方法,在網(wǎng)上找半天竟然沒找到.要么就只能清除空格的!
    2011-01-01
  • 詳解ES6通過WeakMap解決內(nèi)存泄漏問題

    詳解ES6通過WeakMap解決內(nèi)存泄漏問題

    本篇文章主要介紹了詳解ES6通過WeakMap解決內(nèi)存泄漏問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • JavaScript獲取服務(wù)器時(shí)間的方法詳解

    JavaScript獲取服務(wù)器時(shí)間的方法詳解

    這篇文章主要介紹了JavaScript獲取服務(wù)器時(shí)間的方法,結(jié)合實(shí)例形式詳細(xì)分析了javascript基于ajax獲取服務(wù)器時(shí)間的相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • js+css實(shí)現(xiàn)上下翻頁(yè)相冊(cè)代碼分享

    js+css實(shí)現(xiàn)上下翻頁(yè)相冊(cè)代碼分享

    這篇文章主要介紹了js+css實(shí)現(xiàn)上下翻頁(yè)相冊(cè)特效,相冊(cè)可以從上方或者下方隨意切換,推薦給大家,有需要的小伙伴可以參考下。
    2015-08-08

最新評(píng)論

松阳县| 芜湖县| 淮滨县| 彝良县| 贺州市| 昌平区| 沙坪坝区| 宜阳县| 雅安市| 清水县| 滦平县| 敖汉旗| 方城县| 罗山县| 扶绥县| 筠连县| 贵阳市| 陆良县| 丰镇市| 安泽县| 吉木萨尔县| 涟水县| 黎城县| 托克逊县| 高碑店市| 深水埗区| 石屏县| 井研县| 临沭县| 巴林左旗| 冀州市| 玉门市| 色达县| 云安县| 光泽县| 塘沽区| 江川县| 盘锦市| 甘孜县| 朝阳市| 桑植县|