我正在处理一项使用 Firebase 功能将图像上传到 SFTP 服务器的任务。但是图像源不是来自我的本地计算机,而是一个 http URL,例如https://image.com/abc.jpg。我正在使用ssh2-sftp-client npm 包。目前我将我的mac用于客户端和服务器,当我访问本地文件(/Users/shared/abc.jpeg)并将其上传到本地服务器(/Uesrs/shared/sftp-server/abc. JPEG)。但是当我尝试访问https://image.com/abc.jpg时。并将其上传到本地服务器我收到错误消息"ENOENT: no such file or directory/ ..."。下面是我的代码
const functions = require('firebase-functions');
let Client = require('ssh2-sftp-client');
exports.sftpTest = functions.https.onRequest((request, response) => {
let sftp = new Client();
const config = {
host: '192.***.***.***',
port: '22',
username: '****',
password: '****'
}
let localFile = 'https://images.unsplash.com/photo-1487260211189-670c54da558d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=934&q=80';
let remoteFile = '/Users/Shared/unsplash.JPG';
sftp.connect(config)
.then(() => {
sftp.fastPut(localFile, remoteFile);
})
.catch(err => {
console.error(err.message);
});
});
我第一次访问 sftp 服务器和任何人的建议将不胜感激。