node.js - nodejs写入文件为空

标签 node.js streamwriter

我有一个小问题,当我尝试将一个文件从我的 tmp 目录复制到我的 ftp 目录时,写入的文件是空的。我没有错误,我不明白我做错了什么

var ftpPath = "/var/www/ftp/",
    zipPath = "/var/www/tmp/",
    file = "test";
fs.createReadStream(zipPath + file).pipe(fs.createWriteStream(ftpPath + file));

我的测试文件包含 loremipsum 样本。

如果您有任何解决方案,我会接受,这是我的应用程序中唯一存在错误的行:(

最佳答案

首先,确保文件 /var/www/tmp/test 存在,是一个文件,并且具有启动脚本的用户的正确权限。

其次,确保/var/www/ftp/具有写入权限。

那么下面的代码应该可以工作:

var readerStream = fs.createReadStream('/var/www/tmp/test');
var writerStream = fs.createWriteStream('/var/www/ftp/test');
readerStream.pipe(writerStream);

编辑:

尝试使用此代码片段进行调试:

var data;
var readerStream = fs.createReadStream('/var/www/tmp/test');
readerStream.on('data', function(data) {
  data += data;
});

readerStream.on('end', function() {
  console.log(data);
});

关于node.js - nodejs写入文件为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26196352/

相关文章:

javascript - 在路由文件 Node (不是 Node 模块)中包含一个js文件

node.js - 在 OS X 上安装 pty.js( Node )时出错

c# - 尝试写入 Networkstream 时流不可写

c# - 覆盖 ZipArchiveEntry 的内容

c# - StreamWriter 是否抛出异常底层连接断开?

node.js - Express 4 中未定义 POST 正文

node.js - 模块不在 npm 注册表中

node.js - 在 Node 服务器和客户端之间共享数据

c# - 如何清除文本文件内容c#

C# StreamWriter 在单独的类中