function choosefile () { var fileList = document.getElementById('files').files; var nameStr = ''; for (var i = 0; i < fileList.length; i++) { nameStr += `${i === 0 ? '' : ', '}${fileList[i].name}`; var reader = new FileReader(); reader.readAsText(fileList[i], "UTF-8"); reader.onload = function (e) { var content = e.target.result; console.log(content); const textAreaVal = document.getElementById('text').value; document.getElementById('text').value = textAreaVal + content; } } document.getElementById('name').append(nameStr); }
时间: 2024-04-28 11:22:05 浏览: 112
这是一个 JavaScript 函数,用于处理用户选择的文件。它首先从 HTML 页面中获取 id 为 "files" 的文件输入框中用户选择的文件列表,然后遍历列表中的每个文件,将文件名拼接为一个字符串,并用 FileReader 对象读取文件内容。当每个文件读取完毕时,onload 事件将被触发,此时可以获取文件内容并将其添加到 id 为 "text" 的文本区域中。最后,函数将文件名字符串添加到 id 为 "name" 的元素中。
相关问题
var btn = new Button("选择文件夹"); btn.onClick = function() { var folder = Folder.selectDialog("选择文件夹"); if (folder) { var fileList = folder.getFiles(); var list = []; for (var i = 0; i < fileList.length; i++) { if (fileList[i] instanceof File) { list.push(fileList[i]); } } var dlg = new Window("dialog", "文件列表"); dlg.orientation = "column"; var lst = dlg.add("listbox", undefined, list); var btnOK = dlg.add("button", undefined, "确定"); btnOK.onClick = function() { var selectedItem = lst.selection; if (selectedItem) { var file = selectedItem.text; // 在这里编写将文件导入ae的脚本 alert(file + "导入成功!"); } else { alert("请选择一个文件!"); } dlg.close(); } dlg.show(); } }
这是一段 JavaScript 代码,用于实现一个 Adobe After Effects 脚本界面,用于选择一个文件夹,并将该文件夹下的所有文件展示在一个列表框中。用户可以选择列表框中的任意一个文件,并执行将该文件导入 After Effects 的操作。如果用户没有选择任何文件,则会提示用户选择文件。你有什么关于这段代码的问题吗?
有一段代码,后端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>
您好,这是一个技术性问题,可以通过以下代码将 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 数组。
阅读全文