Search code examples
node.jsstreamwriter

nodejs written file is empty


i have a small problem, when i try to copy one file from my tmp dir to my ftp dir the writen file is empty. I have no error, i don't understand what i'm doing wrong

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

My test file contain loremipsum sample.

If you have any solution, i take it, this is the only line that bug in my app :(


Solution

  • First, make sure that the file /var/www/tmp/test exists, is a file, and has the right permissions for the user you start the script with.

    Second, make sure that /var/www/ftp/ has writing permissions.

    Then the following code should work :

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

    Edit :

    try debugging using this snippet :

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