【发布时间】:2013-12-14 14:21:37
【问题描述】:
我的 NodeJS-Server 收到一张 base64 编码的图片。
data:image/jpeg;base64,/9j/4QCcRXhpZgAASUkqAAgAAAA ... CiiigD//Z
接收到的数据应该保存为jpg。因此我使用了 Buffer 和 FileSystemWriter:
var imageBuffer = new Buffer(data, 'base64'); //console = <Buffer 75 ab 5a 8a ...
fs.writeFile("test.jpg", imageBuffer, function(err) { //... });
fs.writeFile 不会引发错误。保存了一个 jpeg 文件,但我无法打开它。 Image-Viewer 说:
File is damaged or too big.
原始文件为 6kb,新文件为 7kb。
【问题讨论】:
-
在尝试对数据进行 base64 解码之前,您是否切断了领先的
data:image/jpeg;base64,? -
不,我必须这样做吗?我认为 imageBuffer 需要这些信息
-
不,不是,HTML中的img,video标签是必需的,base64部分是后面的部分,它包含实际内容
-
啊,太棒了..它有效:))
-
也许您可以回答这个问题,这样问题就不属于“未回答”类别?
标签: node.js