Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将文件保存在指定的目录Node.js中_Javascript_Node.js_Fs_Writefile - Fatal编程技术网

Javascript 将文件保存在指定的目录Node.js中

Javascript 将文件保存在指定的目录Node.js中,javascript,node.js,fs,writefile,Javascript,Node.js,Fs,Writefile,我想使用fs.writeFile保存图像,但我无法执行此操作 我要执行此操作的路径:C:\Users\poz\lotos\images\1232133123@gmail.com 我的代码: var d = new Date(); var n = d.getTime() + ".jpeg"; var dir = "C:/Users/poz/lotos/images/" + email; mkdirp(dir); v

我想使用fs.writeFile保存图像,但我无法执行此操作

我要执行此操作的路径:C:\Users\poz\lotos\images\1232133123@gmail.com

我的代码:

    var d = new Date();
    var n = d.getTime() + ".jpeg";
    var dir = "C:/Users/poz/lotos/images/" + email;

    mkdirp(dir);

    var data = image.replace(/^data:image\/jpeg;base64,/,'');

    var dir2 = dir + "/";

    fs.writeFile(__dirname +'/../../images/' + email + '/' + n, data, 'base64' , function(err){
      if (err)
        return console.log(err);
    });
*文件夹已创建

我得到一个错误:

[错误:eNote:没有这样的文件或目录,请打开'C:\Users\poz\lotos\images]\1232133123@gmail.com\1602604489722.jpeg']{ 错误号:-4058, 代码:'enoint', 系统调用:“打开”, 路径:“C:\Users\poz\lotos\images”\1232133123@gmail.com\1602604489722.jpeg' }

返回未等待的承诺

你应该打电话

mkdirp.sync(dir)
或者以异步方式重写代码

我建议使用:

const savePath=require('path')。加入(uu dirname,'/../../images/',电子邮件)

为避免与操作系统相关的问题或缺少尾随斜杠。

请尝试
mkdirp.sync(dir)
@ManuelSpigolon谢谢,它正在工作。我认为这是fs.writeFile的问题:PFYI,在
dir
变量中构造一个绝对路径是没有意义的,创建该目录,然后在构造文件名时不使用同一个变量。一开始,我尝试按dir生成所有内容,但不起作用,所以我尝试通过更改路径来修复它。
mkdirp.sync(dir)