[英]How do I create a Blob in Node.js?
我试图在Node.js中创建一个Blob。 首先就是这样:
var b = new Blob(['hi', 'constructing', 'a', 'blob']);
失败并出现ReferenceError: Blob is not defined
然后,我尝试使用blob
模块(两行代码来自该模块的示例,请参阅https://www.npmjs.com/package/blob ):
var Blob = require('blob');
var b = new Blob(['hi', 'constructing', 'a', 'blob']);
因TypeError: Blob is not a constructor
失败TypeError: Blob is not a constructor
我该怎么做?
Node.js的没有Blob
,它使用Buffer
( 不要与混淆ArrayBuffer
)和类型数组 。
您尝试使用的blob
npm
模块不在Node.js中使用,而是在浏览器中使用,以消除在不同浏览器中创建Blob
的历史差异。 从其描述 :
跨浏览器的
Blob
,在适当时回落到BlobBuilder
。 如果都不可用,则导出undefined
。
(我的重点)
令人困惑的是,在过去的几年中,以浏览器为目标的程序包已经(大量)出现在npm
上。 一段时间以来,使用require
模块一直是诸如Webpack,Rollup等捆绑程序的功能,因此人们开始将npm
用于浏览器的通用模块,就像将其用于Node.js的通用模块一样。 实际上,有些模块是在两种环境下均可工作的。 (但是blob
似乎不是其中之一。)
在评论中,您说过要从Node.js进程上载文件。 您并不需要Blob
,在Node.js
执行此操作的方式与在浏览器中执行此操作的方式不同。 因此,您可能想研究如何从Node.js上传文件,而不必担心Blob
。 但是,那将是一个不同的问题。 (一个可以在这里回答,或者,如果您愿意使用Express,请在这里回答。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.