Tag: fs

Node.js fs.writeFile:err返回null

我正在使用'fs'写入文件。 写入过程进行得很顺利,文件被创build,但是'err'variables返回null。 我认为这个'空'表示没有错误,但我想确定。 fs.writeLine函数中的err是否有'null'意味着没有错误?

在Angular 2 + Electron中使用绝对path

我开始搞Angular 2和Electron,并使用这个入门包 。 一切似乎都进展顺利,我甚至可以使用节点fs包从目录中读取。 我遇到的问题是,我似乎无法使用readdirSync()方法的绝对path。 它只需要一个相对path。 我在文档fs中find了这个,你可以使用URL包来显示readdirSync()的绝对path,如下所示: const fs = require('fs'); const { URL } = require('url'); // file:///C:/tmp/hello => C:\tmp\hello fs.readFileSync(new URL('file:///C:/tmp/hello')); 这看起来不错,但在我的Angular 2 / TypeScript / Electron世界看来并不奏效。 我看起来像这样: import { Injectable } from "@angular/core"; import {readdirSync} from "fs"; import { URL } from "url"; @Injectable() export class LinkDocRetrieverService { getFiles():Array<String> { // read […]

fs.writeFile创build只读文件

我正在写电子应用程序,有时我需要将一些文本保存到文件中。 我正在使用对话框模块让用户select保存文件的位置,然后用热命令来命名文件。 以下是处理文件创build的代码部分: var exportSettings = (event, settings) => { //settings is a css string console.log(settings) dialog.showSaveDialog({ title: 'Export settings as theme', filters: [{ name: 'UGSM theme(CSS)', extensions: ['css'] }] },(fileName) => { console.log('callback scope'); console.log(fileName); if (fileName) { fs.writeFile(fileName, settings, (error) => { console.log(error); }); } }); } 用户select一个目录和一个文件名后创build的文件。但它被创build为只读,我想它被创build为可编辑的每个人。任何想法,为什么发生这种情况?

如何在fs.statcallback函数中运行

我使用npm剪纸https://www.npmjs.com/package/papercut图片上传,这是保存图像(完美的作品)的function。 uploader.process('image1', file.path, function(images){ console.log(images.avatar); // '/images/uploads/image1-avatar.jpg' console.log(images.small); // '/images/uploads/image1-small.jpg' }) 和我使用文件系统模块方法fs.stat ,我想创build一个目录,我想uploader.process在fs.statcallback内运行。 所以得到保存的图像进入fs.stat创build的目录。 这是我到目前为止我不知道在哪里把uploader.process函数的代码,所以callback调用它。 fs.stat(`${tenantId}/`, function (err, stats){ if (err) { // Directory doesn't exist or something. console.log('Folder doesn\'t exist, so I made the folder ' + `${tenantId}/`); return fs.mkdir(`assets/${tenantId}`, callback); } uploader.process('image1', file.path, function(images){ console.log(images.avatar); // '/images/uploads/image1-avatar.jpg' console.log(images.small); // '/images/uploads/image1-small.jpg' }) });

如何从ES6中的parsing器中获得xml2js结果?

我正在Node中构build一个服务器,它将search一个文件夹以查看XML文件是否存在(glob),如果存在,请将(fs)中的文件作为JSON对象(xml2js)读取,并最终将其存储在数据库中某处。 我想要得到分析器的结果OUT到另一个variables,所以我可以用数据做其他事情。 据我所知,有些东西是同步运行的,但是我不知道如何阻止它,并且让我等待,直到它完成继续前进。 我将我的function从app.js分离到其他地方的控制器: app.controller.js const fs = require('fs-extra'); const glob = require('glob'); const xml2js = require('xml2js'); exports.requests = {}; exports.checkFileDrop = async () => { console.log('Checking for xml in filedrop…'); // this is the only place await works… await glob('./filedrop/ALLREQUESTS-*.xml', (err, files) => { var parser = new xml2js.Parser(); // this is looking for […]

节点 – 上传的jpg无法在服务器上打开

更新感谢@robertklep和@vallo指出我没有正确parsing多部分请求。 以下是更新后的服务器代码,其中包含一些来自Busboy的重新生成的示例代码: 'use strict'; // Require var http = require('http'); var Busboy = require('busboy'); var fs = require('fs'); // Server var server = http.createServer(function(request, response) { if (request.method === 'POST') { var busboy = new Busboy({ headers: request.headers }); busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { file.pipe(fs.createWriteStream(`../db/images/${filename}`)); }); busboy.on('finish', function() { response.writeHead(200, { 'Connection': 'close' […]

node.js fs.readdir不显示目录中的任何文件

我知道这可能是一个愚蠢的问题附近,但我砰的一声,我根本无法解决问题,我自己或在老谷歌的帮助下。 我有一个快速的4应用程序,其中在一个路由从脚本执行函数列出所有可用的json文件从数据目录。 我的目录结构是这样的: / – app root directory with app.js /routes – routes_tags.js is stored here /modules – tags_list.js is stored here /data/rfidTagData – directory that holds json files app.js需要routes_tags.js: var tagRoutes = require("./routes/routes_tags.js")(app); routes_tags.js需要tags_list.js: var taglist = require('../modules/tags_list.js'); 所以app.js需要routes_tags.js,而route_tags.js又需要路由app.get(/ tags)中的tags_list.js。 app.get("/tags", function(req, res) { 下面你会看到我的代码tags_list.js var path = require('path'); var fs = require('fs'); //var […]

NodeJs与./folderpath与../folderpath之间的区别

我是nodejs中的新手。 我尝试在我的文件系统中使用一些文件。 我想通过一些实际的path让他们。 这里是结构: -app -resources -tmp -file1 -file2 -common -common.js -etc 所以,我想从int common文件夹中的common.js文件的resources / tmp文件夹中到达file1和file2。 我用了两条相对path: // First , wrong one var tmpfolder = '../resources/tmp'; // Second, good one var tmpfolder = './resources/tmp'; 文件的绝对path是这样的: C:\用户\ XY \文件\工作\的NodeJS \项目\ project_wrapper_folder \ project_folder \资源\ tmp目录 如果我login第一个相对path,我得到了这个结果: C:\用户\ XY \文件\工作\的NodeJS \项目\ project_folder \资源\ tmp目录 这是错误的,因为它不包含包装文件夹。 但是第二个很好。 有人可以解释我的这种行为吗? […]

准备就绪时执行一个promise数组

我如何获得只有在连接完成后执行的承诺? var fs = require('fs'); var testFolder = './lib/'; var files = ['hello.txt', 'goodbye.txt']; var contents = ''; //creating array of promises let promises = files.map(async e => { return await fs.readFile(testFolder + e, "utf8", function (err, content) { contents += content + ".\n"; }); } ); console.log(promises); //this should happen last but "contents" is […]

将节点JS中的文本文件拆分成一个数组

嗨,我已经看到了很多分割线的例子,但是如果一些行在其string中包含\ n,我怎样才能在txt文件中分割线。 假设我有一个文件,内容如下: "Test \n Line1" "Test Line 2" 我怎样才能将这两行分割为: ResultArray = ['Test \n Line1', 'Test Line 2']