|  | 
 
| HTML5本地文件全路径名称,创建一个FILE,DataTransfer赋值给file 在 JavaScript 中,由于安全原因,无法直接将本地文件的全路径赋值给 `<input type="file"> ` 元素。不过,我们可以使用 ` File ` 对象和 ` DataTransfer ` API 来模拟将文件添加到文件输入控件。
 以下是一个示例代码,展示如何使用已知的文件名创建一个 ` File` 对象,并将其赋值给文件输入控件:
 ### 示例代码
 
 复制代码html
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文件上传模拟</title>
</head>
<body>
    <input type="file" id="fileInput" multiple />
    <button id="setFilesButton">设置文件</button>
    <div id="fileList"></div>
    <script>
        document.getElementById('setFilesButton').addEventListener('click', function() {
            // 创建一个 DataTransfer 对象
            const dataTransfer = new DataTransfer();
             // 示例的本地文件路径(这些路径不会实际读取文件内容)
            const filePaths = [
                'C:/path/to/file1.txt',
                'C:/path/to/file2.txt'
            ];
             // 遍历每个文件路径
            filePaths.forEach(filePath => {
                // 创建一个 File 对象(内容为空,仅用于模拟)
                const fileName = filePath.split('/').pop(); // 从路径中获取文件名
                const file = new File(["这是文件内容"], fileName, { type: "text/plain" });
                 // 将文件添加到 DataTransfer 对象中
                dataTransfer.items.add(file);
            });
             // 将 DataTransfer 中的文件赋值给文件输入控件
            const fileInput = document.getElementById('fileInput');
            fileInput.files = dataTransfer.files;
             // 显示所选文件的名称
            const fileListDiv = document.getElementById('fileList');
            const selectedFileNames = Array.from(fileInput.files).map(file => file.name).join(', ');
            fileListDiv.innerHTML = '已选择文件: ' + selectedFileNames;
        });
    </script>
</body>
</html>
 ### 代码说明
 1. **HTML 结构**:
 - 一个 `<input type="file"> ` 元素,允许用户选择多个文件。
 - 一个按钮用于触发设置文件的过程。
 - 一个 div 用于显示所选文件的列表。
 2. **JavaScript 逻辑**:
 - 当用户点击“设置文件”按钮时,创建一个 ` DataTransfer ` 对象。
 - 定义一个包含文件路径的数组(这些路径只是示例,实际不会读取用户的文件)。
 - 对于每个文件路径,创建一个 ` File ` 对象,并使用一些占位符内容。
 - 将创建的 ` File ` 对象添加到 ` DataTransfer ` 对象中。
 - 将 ` DataTransfer` 中的文件赋值给文件输入控件。
 - 最后,显示所选文件的名称。
 ### 重要注意事项
 - 这个示例模拟了文件选择,并没有真正从用户的文件系统中读取文件。文件的内容是占位符。
 - 用户必须通过文件输入控件或拖放功能手动选择文件,因为浏览器出于安全原因限制了直接访问本地文件系统。
 
 
 
 | 
 |