确定节点js中读取流的长度
Posted
技术标签:
【中文标题】确定节点js中读取流的长度【英文标题】:Determining the length of a read stream in node js 【发布时间】:2015-07-25 11:31:43 【问题描述】:我想知道是否有一种简单的方法可以确定节点 js 中 readStream 的长度。我正在写一个工人来将 PDF 上传到 S3,它正在呕吐错误:“无法确定 [object PDFDocument] 的长度”。 pdf 是可读流(我可以将其通过管道传输到当前内存中的文件并查看生成的 pdf)。
我正在考虑做的一些事情: 1. 将整个 pdf 通过管道传输到内存(例如缓冲区),然后在该缓冲区上调用 fstat 以确定大小。
-
创建一些方法,在我通过管道传输 pdf 时动态找到大小。
或者有更简单的方法吗?接受所有建议,提前致谢!
这是对 S3 的调用。可读的 pdf 流称为 doc:
return Q.ninvoke(s3, 'putObject', Bucket: 'REDACTED', Key: obfuscatedFN, Body: doc, ContentType: 'application/pdf')
.then(function()
console.log("Successfully uploaded data to myBucket/myKey");
return Q(true);
)
.fail(function(err)
console.log(err);
)
【问题讨论】:
【参考方案1】:S3 有另一种称为“上传”的方法,您可以在不需要知道长度的地方使用它。
【讨论】:
以上是关于确定节点js中读取流的长度的主要内容,如果未能解决你的问题,请参考以下文章
在 vue.js 中查找数组长度时无法读取未定义的属性“长度”