我使用以下代码从桌面读取简单文件
module.exports = function (app) {
app.get('/aa', function(req, res) {
fs = require('fs');
fs.readFile('C:\\Users\\t56789\\Desktop\\myfile.txt', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
res.send(data);
});
});
当我在浏览器中输入/aa 时,出现以下错误
{ [Error: ENOENT, open 'C:\Users\t56789\WebstormProjects\Ro0.1\?C:\Users\t56789\Desktop\myfile.txt']
errno: -4058,
code: 'ENOENT',
path: 'C:\Users\t56789\WebstormProjects\Ro0.1\?C:\Users\t56789\Desktop\myfile.txt' }
如果我返回 res.send("test")
我能够在浏览器测试中看到...
知道我想念这里什么吗?
最佳答案
由于安全原因,Web 服务器仅限于其当前目录。因此,如果您想访问某个文件,请先将其移动到 Web 服务器的目录中。只是为了证明这个概念,您可以尝试以下代码:
app.get('/aa', function (req, res) {
var fs = require('fs');
fs.readFile(__filename, 'utf8', function (err, data) {
if (err) {
return console.log(err);
}
console.log(data);
res.send(data);
});
});
它将显示代码所在文件的内容。
关于javascript - 尝试从桌面使用 Node js 读取文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30660250/