从FTP下载并直接复制到Azure Blob/Amazon S3中,而无需将其存储在Node.js中的本地系统中



我想从FTP下载一个文件,并使用Node.js将其上传到Azure blob。我使用basic-ftpNPM从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);

最新更新