You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用writeFile写入ArrayBuffer类型PNG数据时触发TypeError错误

写入PNG文件时的TypeError问题及解决

我尝试写入PNG数据文件时遇到了错误。

原始代码

var png = UPNG.encode([data], width, height, 0);
var file = fs.writeFile("mypng.png", png);

错误信息

TypeError: "data"参数必须是字符串、Buffer、TypedArray或DataView实例,接收到的是ArrayBuffer实例

代码修正说明

已验证解决方案有效,需注意两个关键调整:

  • 向UPNG.encode传入UInt8Array的buffer属性
  • 将UPNG返回的结果转换为Node.js的Buffer类型后,再传入fs.writeFile

修改前代码

var data = UInt8Array(value);
var png = UPNG.encode([data], width, height, 0);
var file = fs.writeFile("mypng.png", png);

修改后代码

var data = UInt8Array(value);
var png = UPNG.encode([data.buffer], width, height, 0);
var buffer = Buffer.from(png);
var file = fs.writeFile("mypng.png", buffer);

内容的提问来源于stack exchange,提问作者1.21 gigawatts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:15:35