我正在尝试将图像存储到新创建的目录中,首先尝试它正常工作,但在下一步并进一步尝试它显示以下错误:
C:\testing\file.js:48
if(err) throw err
Error: ENOENT: no such file or directory,
open 'C:\testing\hello\images\pic.jpg'
at Error (native)
我的代码是:
const dir ='./'+hello+'/images'
if (!fs.existsSync(dir)){
mkdirp(dir, function (err) {
if (err) throw err
})
}
fs.writeFile(dir+'/pic.jpg',base64 string, {encoding: 'base64'}, function(err) {
if(err) throw err
console.log('File created')
});
答案 0 :(得分:0)
您确定已将文件写入其他位置吗?抛出此错误是因为操作系统似乎打开了该文件。尝试在回调中再次写入文件。
答案 1 :(得分:0)
我相信pic.jpg已经在该目录中可用。 那就是为什么它会抛出错误。 尝试不同的名字。 希望它有所帮助
答案 2 :(得分:0)
经过大量尝试后我终于理解了问题,即在上面的代码中,文件创建过程是异步的,所以在创建文件之前,数据试图插入,这会引发错误,但是使用同步过程(mkdirp.sync) (路径))我的问题解决了。