我希望在一个REST API应用程序中保存从JSON对象接收到的文件,以下是代码:
router.post('/addphoto', checkAuth, (req, res)=> {
let filename = Math.floor(Math.random() * 100000);
let dir = './uploads/' + req.user.id;
//Not sure about this
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
base64String = req.body.file;
let base64Image = base64String.split(';base64,').pop();
let filePath = dir + "/" + filename
fs.writeFile( filePath, base64Image, {encoding: 'base64'}, function(err) {
console.log('File created');
});
...
目前的代码可以完成任务,但是我读到existsSync
已经被弃用了,并且我不确定在异步路由器中使用同步代码是否是一个好主意。
因此,我想知道在这种情况下如何做才是最符合惯例的方式?
myDir
恰好指向一个文件,这将会悄无声息地失败。 - aggregate1166877