使用 imagemagick 从 Meteor 中的 base64 字符串读取图像
Read image from base64 string in Meteor using imagemagick
我正在为 meteor 使用 cfs:graphicsmagick 包,我想从 base64 字符串中读取图像。
Meteor.methods({
"readImage"(imgSrc) {
const imageMagick = gm.subClass({ imageMagick: true });
imageMagick(imgSrc)
.write("path/to/image.jpg", (err) => {
if (err) console.log(err);
else console.log("yay!")
});
}
});
然而,当我尝试 运行 此代码时,出现错误:
{ [Error: spawn ENAMETOOLONG] code: 'ENAMETOOLONG', errno: 'ENAMETOOLONG', syscall: 'spawn' }
我尝试通过 new Buffer(string, [encoding])
将字符串转换为缓冲区,但没有成功。
字符串类似于:data:image/png;base64,iVBORw0K...
.
关于如何让它发挥作用有什么建议吗?
尝试传递没有类型定义的base64字符串(数据:image/png;base64,)直到逗号。
例如:iVBORw0K...
我正在使用此函数进行转换:
var fs = Npm.require('fs');
...
base64_decode: function(base64str, file) {
var bitmap = new Buffer(base64str, 'base64');
fs.writeFileSync(file, bitmap);
}
示例用法:
base64_decode('iVBORw0K...', '/path/to/file.png');
我正在为 meteor 使用 cfs:graphicsmagick 包,我想从 base64 字符串中读取图像。
Meteor.methods({
"readImage"(imgSrc) {
const imageMagick = gm.subClass({ imageMagick: true });
imageMagick(imgSrc)
.write("path/to/image.jpg", (err) => {
if (err) console.log(err);
else console.log("yay!")
});
}
});
然而,当我尝试 运行 此代码时,出现错误:
{ [Error: spawn ENAMETOOLONG] code: 'ENAMETOOLONG', errno: 'ENAMETOOLONG', syscall: 'spawn' }
我尝试通过 new Buffer(string, [encoding])
将字符串转换为缓冲区,但没有成功。
字符串类似于:data:image/png;base64,iVBORw0K...
.
关于如何让它发挥作用有什么建议吗?
尝试传递没有类型定义的base64字符串(数据:image/png;base64,)直到逗号。
例如:iVBORw0K...
我正在使用此函数进行转换:
var fs = Npm.require('fs');
...
base64_decode: function(base64str, file) {
var bitmap = new Buffer(base64str, 'base64');
fs.writeFileSync(file, bitmap);
}
示例用法:
base64_decode('iVBORw0K...', '/path/to/file.png');