js 判断本地文件是否存在 不使用 Scripting.FileSystemObject

在 JavaScript 中,通常无法直接访问本地文件系统,因为浏览器的安全限制。但可以通过以下方法来判断特定文件是否存在:

  1. 使用 Fetch API

    • 可以使用 Fetch API 尝试获取文件,然后根据返回的状态码来判断文件是否存在。如果文件存在,服务器将返回状态码 200;如果文件不存在,则可能返回状态码 404。
    javascript
    fetch('path/to/your/file.txt') .then(response => { if (response.ok) { console.log('File exists'); } else { console.log('File does not exist'); } }) .catch(error => console.error('Error:', error));
  2. 使用 XMLHttpRequest

    • 类似地,可以使用 XMLHttpRequest 发送 HEAD 请求来检查文件是否存在。HEAD 请求只获取文件头信息而不返回文件内容,效率更高。
    javascript
    var xhr = new XMLHttpRequest(); xhr.open('HEAD', 'path/to/your/file.txt', true); xhr.onload = function() { if (xhr.status === 200) { console.log('File exists'); } else { console.log('File does not exist'); } }; xhr.send();
  3. 服务器端判断

    • 如果是在服务器端运行 JavaScript,可以使用 Node.js 的文件系统模块 fs 来直接检查文件是否存在。
    javascript
    const fs = require('fs'); fs.access('path/to/your/file.txt', fs.constants.F_OK, (err) => { if (!err) { console.log('File exists'); } else { console.log('File does not exist'); } });
  4. 注意安全性

    • 在浏览器中执行时,仅能访问同源策略允许的文件。对于用户上传的文件,需谨慎处理以防止安全问题。

通过这些方法,可以在不使用 Scripting.FileSystemObject 的情况下,以不同方式检查本地或远程文件是否存在。