首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Node.js中创建Blob?

如何在Node.js中创建Blob?
EN

Stack Overflow用户
提问于 2018-12-06 01:23:43
回答 1查看 20.4K关注 0票数 4

我曾尝试在Node.js中创建一个Blob。首先就是这个:

代码语言:javascript
运行
复制
var b = new Blob(['hi', 'constructing', 'a', 'blob']);

对于ReferenceError: Blob is not defined,此操作失败

然后我尝试使用blob模块(这两行代码来自此模块的示例,请参阅https://www.npmjs.com/package/blob):

代码语言:javascript
运行
复制
var Blob = require('blob');
var b = new Blob(['hi', 'constructing', 'a', 'blob']);

对于TypeError: Blob is not a constructor,此操作失败

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-06 19:31:35

Node.js没有Blob,它使用Buffer (不要与ArrayBuffer混淆)和typed arrays

您尝试使用的blob npm模块不是在Node.js中使用,而是在浏览器中使用,以消除在不同浏览器中创建Blob的历史差异。来自its description

在适当的时候回退到BlobBuildercross-browser Blob。如果两者都不可用,则导出undefined

(我的重点)

有些令人困惑的是,针对浏览器的软件包在过去几年里一直(成群结队地)出现在npm上。使用require的模块已经是像Webpack,Rollup等捆绑包的一个特性,所以人们开始在浏览器的通用模块中使用npm,就像在Node.js的通用模块中使用一样。事实上,有些模块可以在这两种环境中工作。(但blob似乎不是其中之一。)

在评论中,你说你想从你的Node.js进程上传一个文件。为此,您不需要Blob,在Node.js中执行此操作的方式与在浏览器中执行此操作的方式不同。所以你可能想研究一下如何在不担心Blob的情况下从Node.js上传文件,但这是另一个问题。(这个问题可能会被回答为here,或者,如果您愿意使用Express,则可以使用here。)

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53637644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档