时间:2021-05-25
本文实例为大家分享了FormData上传多个文件的具体代码,供大家参考,具体内容如下
由于项目中使用到,特此写个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(); //循环添加到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")@ResponseBodypublic Object upload(@RequestParam MultipartFile[] files) { System.out.println(files.length); return "ok";}前端页面:
请求:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS+php后台实现文件上传功能。分享给大家供大家参考,具体如下:一、利用FormData对象形式上传FormData是XMLHttpReques
项目需求是多个文件上传,在一次请求中完成,而ElementUI的上传组件是每个文件发一次上传请求,因此我们借助FormData的格式向后台传文件组html代码选
在此主要介绍如何使用formData对象上传单文件和多文件,FormData就是XMLHttpRequestLevel2新增的一个对象,利用它来提交表单、模拟表
1.利用Jquery使用HTML5的FormData属性实现对文件的上传 在HTML5以前我们如果需要实现文件上传服务器等功能的时候,有时候我们不得不依赖于F
使用FormData上传文件时,总是获取不到req.file对象。发现是没有配置对FormData导致。这里我是在vue中使用axios发送的请求,配置代码如下