我不知道这是否是一个有效的问题,但是有一个文档描述fs.stat()了nodejs 结果中的每个属性.因为我试图找到每个属性的含义,但没有运气.
谢谢!
我正在尝试使用请求模块保存图像下载.有了这个
request('http://google.com/images/logos/ps_logo2.png').pipe(fs.createWriteStream('doodle.png'));
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是我希望在图像完全下载后能够做其他事情.如何为fs.createWriteStream提供回调函数?
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)
节点版本 …
我正在使用节点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对象数组(这就是我想要的).
我如何让它工作?
我一直在处理这个问题,所以任何帮助都非常感谢.所以,我正在下载一个文件并使用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)
在此之前和之后还有更多的事情发生,但由于这个基本功能失败,所以没有任何重要事项.请帮忙!这已经唠叨了几个星期.
我有一个看起来像这样的文本文件:
./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)
什么正则表达式将工作或使用节点编辑此文件的最佳方法是什么?
尝试使用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) 我有一个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在返回时没有真正完成写入.有没有正确的方法以同步方式进行,即没有回调?
我的应用中出现此错误:
错误: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)
我知道问题是什么:权限.但是,如果不以管理员身份运行应用程序,我怎么能让它工作?
我有一个具有以下渲染效果的组件:
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) fs ×10
node.js ×9
javascript ×4
file-io ×1
filesystems ×1
mocha.js ×1
reactjs ×1
request ×1
typescript ×1
unit-testing ×1