我无法将文件保存在目录中

时间:2017-09-23 17:05:07

标签: node.js

我正在尝试将图像存储到新创建的目录中,首先尝试它正常工作,但在下一步并进一步尝试它显示以下错误:

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')
                                            });

3 个答案:

答案 0 :(得分:0)

您确定已将文件写入其他位置吗?抛出此错误是因为操作系统似乎打开了该文件。尝试在回调中再次写入文件。

答案 1 :(得分:0)

我相信pic.jpg已经在该目录中可用。 那就是为什么它会抛出错误。 尝试不同的名字。 希望它有所帮助

答案 2 :(得分:0)

经过大量尝试后我终于理解了问题,即在上面的代码中,文件创建过程是异步的,所以在创建文件之前,数据试图插入,这会引发错误,但是使用同步过程(mkdirp.sync) (路径))我的问题解决了。