标签: fs

NodeJS文件统计

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

谢谢!

fs node.js

15
推荐指数
1
解决办法
3659
查看次数

图像下载后的回调功能

我正在尝试使用请求模块保存图像下载.有了这个

request('http://google.com/images/logos/ps_logo2.png').pipe(fs.createWriteStream('doodle.png')); 
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是我希望在图像完全下载后能够做其他事情.如何为fs.createWriteStream提供回调函数?

request fs node.js

15
推荐指数
1
解决办法
8396
查看次数

打字稿中的 fs/promises api 未在 javascript 中正确编译


我最近在使用 typescript 和 fs/promises API,并且在编译和运行 typescript 代码时遇到了这个错误,我收到了这个错误说
internal/modules/cjs/loader.js:968
  throw err;
  ^

Error: Cannot find module 'fs/promises'
Run Code Online (Sandbox Code Playgroud)

当我查看编译后的代码时,这就是我发现的......

var promises_1 = require("fs/promises");
Run Code Online (Sandbox Code Playgroud)

通过将其更改为开始工作

var promises_1 = require("fs").promises;
Run Code Online (Sandbox Code Playgroud)

这是我的打字稿文件导入

import { readFile, writeFile, appendFile } from "fs/promises";
Run Code Online (Sandbox Code Playgroud)

我的package.json文件

 "devDependencies": {
    "@types/cheerio": "^0.22.22",
    "@types/got": "^9.6.11",
    "@types/node": "^14.14.6"
  },
  "dependencies": {
    "cheerio": "^1.0.0-rc.3",
    "got": "^11.8.0"
  }
Run Code Online (Sandbox Code Playgroud)

和我的tsconfig.json文件

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "strict": true,
    "outDir": "dist",
    "sourceMap": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "**/*.spec.ts"]
}
Run Code Online (Sandbox Code Playgroud)

节点版本 …

javascript fs node.js typescript

15
推荐指数
3
解决办法
2万
查看次数

无法从fs.readdir获取fs.Dirent数组

我正在使用节点8.10.0.

fs.readdir()返回文件名和子目录名称的数组,或. fs.Dirents[]

我无法让它发挥作用.这是一个简单的例子:

console.log(require("fs").readdirSync("/", {withFileTypes:true}));
Run Code Online (Sandbox Code Playgroud)

这给了我一个字符串数组(例如["bin", "mnt", "usr", "var", ...]),而不是一个fs.Dirent对象数组(这就是我想要的).

我如何让它工作?

fs node.js

14
推荐指数
1
解决办法
3952
查看次数

NodeJS fs.open在现有文件上失败(不是路径问题)

我一直在处理这个问题,所以任何帮助都非常感谢.所以,我正在下载一个文件并使用PhantomJS和CasperJS保存它.我要指出它们不是问题.下载文件没有问题.

问题是NodeJS在下载后无法识别或打开文件.我不能fs.stat,fs.open等.什么都行不通.

我将在一秒钟内分享代码,但这是日志:

Here: bdTcK6hSdownload.csv

[ '2puzZMeLdownload.csv',
  '2s5ICbKNdownload.csv',
  'bdTcK6hSdownload.csv',
  'izIfagwCdownload.csv' ]

fs.js:230

return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);

Error: ENOENT, no such file or directory './caspertemp/bdTcK6hSdownload.csv'

at Object.openSync (fs.js:230:18)
at Object.processCSV (/Users/Home/dev/node_modules/inviter/index.js:64:29)
at /Users/Home/dev/node_modules/inviter/index.js:36:33
at ChildProcess.exithandler (child_process.js:281:7)
at ChildProcess.emit (events.js:70:17)
at maybeExit (child_process.js:361:16)
at Process.onexit (child_process.js:397:5)
Run Code Online (Sandbox Code Playgroud)

如您所见,我打印出创建的文件名,然后打印目录的内容,然后尝试打开该文件.如您所见,bdTcK6hSdownload.csv存在于目录中,但在打开时失败.

简单的代码片段在这里:

console.log('Here: ' + filename);

filenames = fs.readdirSync('./caspertemp/');
console.log(filenames);

var fd = fs.openSync('./caspertemp/' + filename, 'r');
console.log(fd);
Run Code Online (Sandbox Code Playgroud)

在此之前和之后还有更多的事情发生,但由于这个基本功能失败,所以没有任何重要事项.请帮忙!这已经唠叨了几个星期.

javascript file-io fs node.js

13
推荐指数
1
解决办法
3万
查看次数

使用node.js更改文件

我有一个看起来像这样的文本文件:

./4F6cFLnAAFc.png
./4Flj9plmKGQ.png
./4fQeHtSdw80.png
./4I9iibPLdBw.png
./4J-dRA3MGc8.png
./4mdEsouIXGM.png
./4-_-wQc3EGE.png
./595Tiga1gIg.png
./60u_ctp6UIw.png
./64bH_27Ehoc.png
./64_ZfIemRGM.png
./66pQLO--Ghk.png
./69rDtSpshAw.png
./69-YUSazuic.png
Run Code Online (Sandbox Code Playgroud)

我想.用node.js用'myString' 替换每一行的开头.所以每个人最终看起来像:myString/4F6cFLnAAFc.png

我试图使用正则表达式,但我怀疑它可以使用读写流完成.

var fs = require('fs');

fs.readFile('filelist.txt', 'utf-8', function(err, data){
    if (err) throw err;

    console.log(typeof(data)); // string

    data.replace(/\.\/+/, 'myString');

});
Run Code Online (Sandbox Code Playgroud)

什么正则表达式将工作或使用节点编辑此文件的最佳方法是什么?

javascript filesystems fs node.js

13
推荐指数
2
解决办法
3万
查看次数

使用fs.writeFile时出现ENOENT错误

尝试使用fs.writeFile将文件写入兄弟目录.这在使用Sitemap.xml到同一目录时工作正常,但不能与相对路径一起使用.该public目录存在,无论是否存在,它都会给出相同的错误Sitemap.xml.

相关目录结构:

/public
   Sitemap.xml
   app files
/create-sitemap
    index.js - file containing code below
app.js
Run Code Online (Sandbox Code Playgroud)
fs.write('../public/Sitemap.xml', data.toString(), function(err) {
    if (err) throw err;
    console.log("Wrote sitemap to XML");
});


Toms-MacBook-Pro:moviehunter tomchambers$ node create-sitemap/index.js

/Users/tomchambers/projects/project/create-sitemap/index.js:88
        if (err) throw err;
                       ^
Error: ENOENT, open '../public/Sitemap.xml'
Run Code Online (Sandbox Code Playgroud)

fs node.js

13
推荐指数
2
解决办法
2万
查看次数

fs.writeFileSync给出错误:UNKNOWN,这是在nodejs中进行同步文件写入的正确方法

我有一个NodeJS服务器应用程序.我有这行代码用于我的日志记录:

fs.writeFileSync(__dirname + "/../../logs/download.html.xml", doc.toString());
Run Code Online (Sandbox Code Playgroud)

有时候它可以正常工作,但是在负载很重的情况下会出现这种情

Error: UNKNOWN, unknown error 'download.html.xml'
Run Code Online (Sandbox Code Playgroud)

PS:我在这里找到了一个链接:http://www.daveeddy.com/2013/03/26/synchronous-file-io-in-nodejs/ Blogger描述了writeFileSync在返回时没有真正完成写入.有没有正确的方法以同步方式进行,即没有回调?

javascript synchronization fs node.js

12
推荐指数
1
解决办法
1148
查看次数

节点fs错误:EPERM:不允许操作,打开

我的应用中出现此错误:

错误:EPERM:不允许操作,打开'C:\ Program Files(x86)\ Full Menu\db\main.json'

我的应用程序是用电子样板构建的.我正在使用此函数来获取应用程序根目录的路径:

path.dirname(process.execPath)
Run Code Online (Sandbox Code Playgroud)

这是写入文件的脚本:

fs.writeFile(apath + '/db/' + elem + '.json', JSON.stringify(results)
Run Code Online (Sandbox Code Playgroud)

我知道问题是什么:权限.但是,如果不以管理员身份运行应用程序,我怎么能让它工作?

fs node.js

12
推荐指数
5
解决办法
2万
查看次数

在React TestUtils中模拟文件输入

我有一个具有以下渲染效果的组件:

  render: function() {
   <input
    type="file"
    name: this.props.name,
    className={this.props.className}
    onChange={this.props.handleChange}
    accept={this.props.accept}/>
 }
Run Code Online (Sandbox Code Playgroud)

State由一个容器管理,该容器使用jquery AJAX调用上传文件服务器端:

 getInitialState: function() {
   return {
     uploaded: false
  };
}

handleChange: function(event) {
event.preventDefault();

var file = event.target.files[0];
if (!file) {
  return;
}

var reader = new FileReader();
reader.readAsText(file, 'UTF-8');
var self = this;

reader.onload = function(e) {
  var content = e.target.result;

 var a =  $.ajax({
    type: 'PUT',
    url: 'http://localhost:8080/upload',
    contentType: 'application/json',
    dataType: "json",
    data: JSON.stringify({
      "input": content
    })
  })
  .fail(function(jqXHR, textStatus, errorThrown) {
    console.log("ERROR WHEN UPLOADING"); …
Run Code Online (Sandbox Code Playgroud)

unit-testing mocha.js fs reactjs reactjs-testutils

12
推荐指数
1
解决办法
1451
查看次数