旨在将base64保存到指定文件路径中的代码
class FileURI {
constructor() {
this.id = shortid.generate();
this.localURI = 'public/uploads/' + this.id + '.jpg';
this.localURIexplicit = './' + this.localURI; //Required by XXXX
this.publicURL = 'https://xxx.xyz/' + this.localURI;
}
static saveB64toUrl(b64data) {
return new Promise((resolve, reject) => {
let fileLoc = new FileURI();
fs.writeFile(fileLoc.localURI, new Buffer(b64data, 'base64'),
function (err) {
if (err) reject(err);
else {
console.log("filename created: " + fileLoc.localURI + " in " + fileLoc.publicURL);
resolve(fileLoc);
}
});
});
}
}
即使仔细检查fs doc并执行手动将文件路径更改为最简单fs.writeFile('public/uploads/a.jpg', new Buffer(b64data, 'base64')
的明显方法,我仍然始终会收到以下错误。
0|server | TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.
之前正在合理地工作,甚至通过逐行彻底检查,我无法找出到目前为止所做的改变。
我真的希望只是在所需的URI格式中输入错误或误解。