Tag: fs

NodeJS文件统计

我不知道这是否是一个有效的问题,但有没有一个文档描述fs.stat()的结果中的每个属性。 因为我试图find每个属性的含义,但没有运气。 谢谢!

Node.js:如何检查文件夹是否为空或没有上传文件列表

我正在使用Node.js 我想检查文件夹是否为空 ? 一个select是使用fs.readdir,但是它将大量的文件加载到一个数组中。 我在该文件夹中有超过10000个文件。 加载文件名是无用的,只是为了检查文件夹是否为空。 所以寻找替代解决scheme。

如果文件不存在,fs.statSync会抛出错误

我正在尝试确定文件是否存在。 如果它不存在,我想我的代码继续,所以它会被创build。 当我使用下面的代码时,如果文件存在,它会打印出“存在”。 如果它不存在,它会崩溃我的应用程序。 这是我的代码: var checkDuplicateFile = function(){ var number = room.number.toString(); var stats = fs.statSync(number); if(stat){ console.log('it exists'); }else{ console.log('it does not exist'); } };

writeFile没有这样的文件或目录

我有一个文件( data.file一个图像),我想保存这个图像。 现在可以在它之前存在一个同名的图像。 如果是这样,我想覆盖,或者如果以前不存在,就创build它。 我读到“w”这个标志应该这样做。 码: fs.writeFile('/avatar/myFile.png', data.file, { flag: "w" }, function (err) { if (err) { return console.log(err); } console.log("The file was saved!"); }); 错误: { [Error: ENOENT: no such file or directory, open '/avatar/myFile.png'] errno: -2, code: 'ENOENT', syscall: 'open', path: '/avatar/myFile.png' }

使用fs.writeFileSync将JSON对象写入JSON文件

我想写一个JSON文件的JSON对象。 代码执行没有错误,但是写入对象本身而不是写入JSON文件的所有内容是: [object Object] 这是写作的代码: fs.writeFileSync('../data/phraseFreqs.json', output) 'output'是一个JSON对象,并且该文件已经存在。 请让我知道是否需要更多的信息。

从url下载文件并将其上传到AWS S3而不保存 – node.js

我正在编写一个应用程序,它从url下载图像,然后使用aws-sdk将其上传到S3存储桶。 很明显,我只是下载图像,并像这样保存到磁盘。 request.head(url, function(err, res, body){ request(url).pipe(fs.createWriteStream(image_path)); }); 然后像这样将图像上传到AWS S3 fs.readFile(image_path, function(err, data){ s3.client.putObject({ Bucket: 'myBucket', Key: image_path, Body: data ACL:'public-read' }, function(err, resp) { if(err){ console.log("error in s3 put object cb"); } else { console.log(resp); console.log("successfully added image to s3"); } }); }); 但我想跳过保存图像到磁盘的部分。 有什么办法可以将request(url)的响应传递给一个variables,然后上传?

NodeJS中模块的应用程序基本path

我正在NodeJS中构build一个Web应用程序,并在不同的模块中实现我的API路由。 在我的一个路线中,我正在做一些文件操作,我需要知道基本的应用程序path。 如果我使用__dirname它给了我当然包含我的模块的目录。 我目前正在使用它来获取基本的应用程序path(假定我知道从基本path模块的相对path): path.join(__dirname, "../../", myfilename) 有没有比使用../../更好的方法? 我正在Windows下运行节点,所以没有process.env.PWD ,我不想成为特定于平台的。

模块内的相对文件系统写path

我有一个可执行的节点/ JavaScript脚本有一个debugging布尔值,如果设置为true,将写入几个文件。 这个可执行文件也是节点模块。 根据运行脚本的用户的工作目录,似乎该function找不到写入文件的目录。 模块是这样构成的 output/ lib/ helpers.js index.js 我原来的理由是要有path。 helper.write = function(data,filename){ if(typeof data !== "string") data = JSON.stringify(data); fs.writeFileSync("./output/"+filename, data); }; 但是,这在从node_module文件夹内运行脚本时起作用 fs.writeFileSync("process.cwd()+"/node_modules/the_module/output/"+filename, data); 喜欢这个 node ./my_app/node_modules/the_module/index.js 如果模块在使用该库的另一个可执行文件中使用,则会变得更加混乱。 node ./my_app/run.js 有没有办法独立于所有这些variables保存文件?

Node.js将一行写入.txt文件

我想创build一个简单的日志系统,它使用Node.js在过去的行之前打印一行到一个txt文件,但我不知道如何从Node.js的文件系统工作。 有人可以解释吗?

与fs和蓝鸟的承诺

我目前正在学习如何在nodejs中使用promise 所以我的第一个挑战是列出目录中的文件,然后使用asynchronousfunction获取每个步骤的内容。 我提出了以下的解决scheme,但有一种强烈的感觉,这并不是最优雅的方式,特别是第一部分,我将asynchronous方法“转向”承诺 // purpose is to get the contents of all files in a directory // using the asynchronous methods fs.readdir() and fs.readFile() // and chaining them via Promises using the bluebird promise library [1] // [1] https://github.com/petkaantonov/bluebird var Promise = require("bluebird"); var fs = require("fs"); var directory = "templates" // turn fs.readdir() into […]