我想从FTP下载一个文件,并使用Node.js将其上传到Azure blob。我使用basic-ftp
NPM从FTP列出并下载该文件。
有人能提供一个小例子,说明如何在不将文件存储到本地系统的情况下将其上传到Amazon S3/AAzure Blob存储中吗?
您可以尝试使用以下代码,我下载一个ftp文件test.txt
并将流上传到blob,这对我来说可能有效。
var Client = require('ftp');
var fs = require('fs');
var azure = require('azure-storage');
accountName="account name"
accountKey="account key"
var blobService = azure.createBlobService(accountName,accountKey);
let connection={
"host":"ftp host",
"port":"21",
"user":"user name",
"password":"pass word"
}
var c=new Client();
c.on('ready', function() {
c.get('test.txt', function(err, stream) {
if (err) throw err;
stream.once('close', function() { c.end(); });
stream.pipe(blobService.createWriteStreamToBlockBlob("test","test.txt"))
});
});
c.connect(connection);