草庐IT

node.js - 无法从 fs.readdir 获取 fs.Dirent 数组

我正在使用Node8.10.0。fs.readdir()返回文件名和子目录名的数组,或fs.Dirents[].我无法让它工作。这是一个简单的例子:console.log(require("fs").readdirSync("/",{withFileTypes:true}));这给了我一个字符串数组(例如["bin","mnt","usr","var",...]),而不是fs数组.Dirent对象(这是我想要的)。如何让它工作? 最佳答案 在v10.10.0中添加了必需的功能,您必须更新Node。

node.js - 如何确定 S3.getObject() 中的数据类型

S3的node.jsAPI对getObject回调中返回的数据给出如下描述。来自http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property:Body—(Buffer,TypedArray,Blob,String,ReadableStream)Objectdata.这是真的吗?有没有办法控制它是哪一个? 最佳答案 不知道能不能提前控制getObject()回调中提供的data.Body字段的类型。如果您只想确定是否收到了缓冲区,您可

node.js - 如果 nodejs 使用非阻塞 IO,那么 fs.readFileSync 是如何实现的?

我在filesystemlibrary中看到了很多同步函数.例如fs.readFileSync(filename,[options])。如果Node具有异步/非阻塞IO且没有sleep方法,这些功能是如何(以及为什么)实现的-我可以使用相同的机制来实现其他同步功能吗? 最佳答案 fs.readFileSync()实际上只是一个包装器fs.readSync()功能。所以问题是fs.readSync()与fs.read()相比是如何实现的。如果您查看这两个函数的实现,它们都利用了绑定(bind)模块。在这种情况下,它被初始化为varbi

Node.js fs.unlink 函数导致 EPERM 错误

我正在使用fs.unlink()删除文件,但收到以下错误:uncaughtundefined:Error:EPERM,Operationnotpermitted'/Path/To/File'有人知道为什么会这样吗? 最佳答案 您不能删除非空目录。fs.unlinkSync()用于删除文件而不是文件夹。要删除空文件夹,请使用fs.rmdir()要删除非空文件夹,请使用以下代码段:vardeleteFolderRecursive=function(path){if(fs.existsSync(path)){fs.readdirSync(

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

我已经处理这个问题很长时间了,因此非常感谢任何帮助。所以,我正在下载一个文件并使用PhantomJS和CasperJS保存它。让我指出他们不是问题所在。文件下载没有问题。问题是NodeJS在下载后无法识别或打开文件。我不能fs.stat、fs.open等。没有任何作用。我稍后会分享代码,但这是日志:Here:bdTcK6hSdownload.csv['2puzZMeLdownload.csv','2s5ICbKNdownload.csv','bdTcK6hSdownload.csv','izIfagwCdownload.csv']fs.js:230returnbinding.open(

node.js - 亚马逊 S3 服务器上的 Concat MP3/媒体音频文件

我想连接上传到AmazonS3服务器上的文件。我该怎么做。我可以使用以下代码在本地机器上进行连接。varfs=require('fs'),files=fs.readdirSync('./files'),clips=[],stream,currentfile,dhh=fs.createWriteStream('./concatfile.mp3');files.forEach(function(file){clips.push(file.substring(0,6));});functionmain(){if(!clips.length){dhh.end("Done");return;}c

node.js - 使用 Node.js 将二进制数据推送到 Amazon S3

我正在尝试使用Node.js拍摄图像并将其上传到AmazonS3存储桶。最后,我希望能够将图像推送到S3,然后能够访问该S3URL并在浏览器中查看图像。我正在使用Curl查询以图像为主体执行HTTPPOST请求。curl-kvXPOST--data-binary"@test.jpg"'http://localhost:3031/upload/image'然后在Node.js方面,我这样做:exports.pushImage=function(req,res){varimage=newBuffer(req.body);vars3bucket=newAWS.S3();s3bucket.cr

javascript - 当指定的键不存在时,为什么 S3.deleteObject 不会失败?

使用AWSSDKforNode,为什么我在尝试删除不存在的对象(即S3key错误)时没有收到错误消息?另一方面,如果我指定一个不存在的存储桶,则会产生错误。如果你考虑下面的Node程序,Key参数列出了一个在桶中不存在的键,但是回调的error参数是null:varaws=require('aws-sdk')functiongetSetting(name){varvalue=process.env[name]if(value==null){thrownewError('Youmustsettheenvironmentvariable'+name)}returnvalue}vars3Cl

node.js fs.exists() 将被弃用,改用什么?

根据documentationnode.jsfs.exists()将被弃用。他们的推理:fs.exists()isananachronismandexistsonlyforhistoricalreasons.Thereshouldalmostneverbeareasontouseitinyourowncode.Inparticular,checkingifafileexistsbeforeopeningitisananti-patternthatleavesyouvulnerabletoraceconditions:anotherprocessmayremovethefilebetwe

node.js - 使用强大的和(knox 或 aws-sdk)在 Node.js 上将文件流式上传到 S3

我正在尝试将通过表单提交的文件直接上传到AmazonS3存储桶,使用aws-sdk或knox.表单处理由formidable完成.我的问题是:如何使用这些库处理流的最新功能正确使用aws-sdk(或knox)的强大功能?我知道这个话题已经在这里以不同的方式提出过,即:Howtoreceiveanuploadedfileusingnode.jsformidablelibraryandsaveittoAmazonS3usingknox?nodeapplicationstreamfileuploaddirectlytoamazons3Accessingtherawfilestreamfrom