首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将源文件复制到Nodejs中的另一个目标

将源文件复制到Nodejs中的另一个目标
EN

Stack Overflow用户
提问于 2016-07-26 16:42:02
回答 3查看 35.5K关注 0票数 17

我试图使用fs-额外模块将图像从文件夹复制到另一个文件夹。

代码语言:javascript
复制
var fse = require('fs-extra');

function copyimage() {
  fse.copy('mainisp.jpg', './test', function (err) {     
    if (err) 
      return console.error(err)
  });
}

这是我的目录

这是我一直都会犯的错误:

错误{errno:-4058,代码:"ENOENT",syscall:" lstat ",路径:"E:\mainisp.jpg",消息:"ENOENT:没有这样的文件或目录,lstat 'E:\mainisp.jpg'"}

通过将目标更改为./test/,我得到了这个错误

错误{errno:-4058,代码:"ENOENT",syscall:" lstat ",path:"E:\Development\Node apps\Node softwares\Digital_library\mainisp.jpg",消息:"ENOENT:没有这样的文件或目录,lstat 'E:\Devel…app\Node softwares\Digital_library\mainisp.jpg'"}

注意:我不是在浏览器中测试这个。这是一个Nwjs应用程序,附加的错误图片来自Nwjs控制台。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-26 16:51:11

尝试:

代码语言:javascript
复制
var fs = require('fs-extra');

fs.copySync(path.resolve(__dirname,'./mainisp.jpg'), './test/mainisp.jpg');

正如您在错误消息中所看到的,您正在尝试从E:\mainisp.jpg而不是当前目录读取该文件。

您还需要指定文件的目标路径,而不仅仅是目标文件夹。

票数 14
EN

Stack Overflow用户

发布于 2016-07-26 16:55:50

您可以使用本机fs模块轻松地使用流来完成这一任务。

代码语言:javascript
复制
const fs = require('fs');
const path = require('path');

let filename = 'mainisp.jpg';
let src = path.join(__dirname, filename);
let destDir = path.join(__dirname, 'test');

fs.access(destDir, (err) => {
  if(err)
    fs.mkdirSync(destDir);

  copyFile(src, path.join(destDir, filename));
});


function copyFile(src, dest) {

  let readStream = fs.createReadStream(src);

  readStream.once('error', (err) => {
    console.log(err);
  });

  readStream.once('end', () => {
    console.log('done copying');
  });

  readStream.pipe(fs.createWriteStream(dest));
}
票数 21
EN

Stack Overflow用户

发布于 2018-11-19 07:20:25

尝试:

代码语言:javascript
复制
const fs = require('fs');
fs.copyFileSync(src, dest);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38595524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档