0

それで、rabbitMQ をいじり、コンシューマー向けのノードを使用して、リモート サーバーからイメージ ファイルを取得しようとしています。宛先として「./」を使用している限り、これは正常に機能しますが、何かを使用するとすぐに「c:\images」のように、次のように爆撃します。

{ [Error: EISDIR, open 'C:\images'] errno: 28, code: 'EISDIR', path: 'C:\\images' }

同じ結果で「\ images」も使用しました

user.moveImage.js:

var amqp = require('amqp'),
  cxn = require('./cxn.js'),
  env = require('./env.js'),
  argv = require('optimist').argv,
  fs = require('fs'),
  client = require('scp2');

var path = env.local.path;
if(argv.env != undefined) {
  path = env[argv.env].path
} else {
  console.log('Undefined or invalid environment, using local');
}

var connection = amqp.createConnection({ url: cxn.connectionUrl() });

// Wait for connection to become established.
connection.on('ready', function () {
// Use the default 'amq.topic' exchange
connection.queue('user.image.move', {
  durable: true,
  autoDelete: false
},function(q){
    // Catch all messages
    q.bind('#');

    // Receive messages
    q.subscribe(function (message) {
      console.log(message);
      //scp the file from the remote to the local imagePath
      fs.readdir(env.local.imagePath,function(err, files){
        console.log(files);
      });
      client.scp({
          host: message.host,
          username: '#######',
          password: '#################',
          path: message.webroot + message.image_url
      }, env.local.imagePath, function(err) {console.log(err)})

    });
  });
});
connection.on('error',function(e){
  console.log(e);
})

env.js:

var local = 
    path: 'C:\\Users\\ian\\Documents\\sites\\townspot\\app\\webroot',
    mediaPath: 'C:\\media',
    imagePath: 'c:\\images'
}

exports.local = local;
4

1 に答える 1

9

答えを見つけました。私はダミーヘッドです。末尾のスラッシュを忘れました。ファイルをディレクトリに置くのではなく、ディレクトリにファイルを書き込もうとしていました

于 2013-09-15T18:36:28.140 に答える