有一段代码,后端java如何接收formData并重新生成为FileList[]数组,用代码如何实现。<script type="text/javascript"> function upload() { var form = document.getElementById('fileUploadForm'); var formData = new FormData(form); var files = []; let filelist = []; for (var i = 0; i < form.elements.fileList.files.length; i++) { files.push(form.elements.fileList.files[i]); } files.forEach(e => { filelist.push(e.webkitRelativePath) }) console.log(filelist); formData.append('fileList', JSON.stringify(filelist));//将filelist数组转换为JSON字符串并添加到formData中 var xhr = new XMLHttpRequest(); xhr.open('POST', 'http://localhost:8080/upfile/upload.jsp', true); xhr.send(formData); } </script>
时间: 2023-06-05 19:04:12 浏览: 427
java模拟发送form-data的请求方式
您好,这是一个技术性问题,可以通过以下代码将 formData 重新生成为 FileList 数组:
var formData = new FormData();
var fileList = formData.getAll('fileList'); // 获取 formData 中的 fileList
var files = []; // 存储生成的 FileList 数组
for (var i = 0; i < fileList.length; i++) {
var file = new File([fileList[i]], fileList[i].name);
files.push(file);
}
请注意,这里的 formData 可以通过表单提交或使用 JavaScript 动态创建。FileList 属性是只读的,因此需要重新构造一个新的 FileList 数组。
阅读全文