从计算机javascript读取文件并打印console.log它不打印

Posted

技术标签:

【中文标题】从计算机javascript读取文件并打印console.log它不打印【英文标题】:read file from computer javascript and print console.log its not print 【发布时间】:2021-03-01 12:44:03 【问题描述】:

当我将此代码调试到 chrome 控制台时,它不会显示任何输出或警报!请帮我完成这段代码!我需要将我的 read.txt 文件文本读取到 console.log.... 我尝试的代码如下所示。

 function loadText() 
    fetch('C:\Windows\Temp\read.txt')
    .then(function(response)
        return response.text();
    )
    .then(function(data)
        console.log(data);  
        alert(data)      
    )
    .catch(function(error)
        console.log(error);
        alert(data)      
    )

【问题讨论】:

Chrome 控制台可能不允许您从(本地)文件系统读取文件。也许设置中有一个标志允许该选项。但是,允许 Chrome 控制台读取您的本地文件是一个很大的安全风险。恶意浏览器扩展可以利用这一点来访问他们不应该访问的文件。 当我禁用 chrome 网络安全时是否可行? 【参考方案1】:
Try below code and indicate your directory like below

async function fetchText() 
    let response = await fetch('../demo.txt');

    console.log(response.status); // 200
    console.log(response.statusText); // OK

    if (response.status === 200) 
        let data = await response.text();
        console.log(data);
        // handle data
    


fetchText();

【讨论】:

我试过这样但它得到错误!请帮忙.... 异步函数 fetchText() 让响应 = await fetch('C:\Windows\Temp\read.txt'); console.log(response.status); // 200 console.log(response.statusText); // OK if (response.status === 200) let data = await response.text();控制台.log(数据); // 处理数据 fetchText(); 将 C:\Windows\Temp\read.txt 更改为 ../../yourdirectory,它对我有用【参考方案2】:

这似乎是这个问题的重复 - AJAX request to local file system not working in Chrome?

问题是一样的,但是您使用的是 fetch API (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) 而不是 XMLHttp 请求 (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)

当我运行 loadText 时,出现以下错误:-

Fetch API 无法加载。对于 CORS 请求,URL 方案必须是“http”或“https”。

您无法在 Chrome 中向文件系统发出请求。但是,您可以使用标志禁用 Chrome 安全性 (--allow-file-access-from-files) 请参阅 - Allow Google Chrome to use XMLHttpRequest to load a URL from a local file 但不建议这样做。

您还需要通过添加前缀 file:/// 来更新 fetch 函数中的路径,这告诉它在文件系统中查找,并将协议从 http 或 https 更改。

【讨论】:

如果我禁用 chrome 网络安全时可能吗?

以上是关于从计算机javascript读取文件并打印console.log它不打印的主要内容,如果未能解决你的问题,请参考以下文章

串口为啥自动打印数据

C编程:从文件中读取并在屏幕上打印

正在读取Excel文件

如何从 RODBC 读取 300 万条记录并写入文本文件

如何从文本文件中读取数据库凭据?

从文件内容中读取和执行操作