Azure에 배포 한 M (ySQL) EAN 스택 응용 프로그램이 있습니다. 응용 프로그램은 사용자가 내용 (doc 파일, 이미지, 오디오 등 포함)을 업로드 할 수 있어야합니다. 사용자 업로드 콘텐츠를 내가 저장을 위해 원격 서버에 로컬 파일을 전송하기 위해 promise-sftp 모듈을 사용할 때 내 명시 적 경로에서 백엔드에 하늘색 웹 응용 프로그램에서 원격 서버에 로컬 파일을 보내는 방법
다음과 같이이 잘 작동var AsyncClient = require('promise-sftp');
var sftp = new AsynClient();
sftp.connect(options).then(function (serverMsg) {
console.log('sftp connected ... multer uploading');
// error handling for multer upload
upload(req, res, function (err) {
if(err)
return res.send(err);
var doc = {...} //create document object from req.files[0]
sftp.fastPut(doc.doc_storage_path, process.env.REMOTE_URL + doc.doc_file_name,{...}})
.then(function() {
//do something
return sftp.end(); //end sftp connection
});
//save file info to mysql db
...
});
난 때 로컬로 개발하지만 Azure에 배포하면 작동하지 않습니다. 파일은 파일 시스템에 로컬로 저장되고 파일 정보는 MySQL 데이터베이스에 저장되지만 원격 서버로 보내지는 않습니다.
Azure VM에 SFTP 서버가 필요한지 확실하지 않습니다. 내 웹 응용 프로그램에서 도움이된다면 Azure's Shared App Service Plan을 사용합니다. 나는이 지식을 이해하는 데 도움이 될 정도로 정통한 백엔드가 아닙니다!
Gotcha. Azure에서 제공하는 BLOB 저장소 옵션을 사용할 여력이있을 때까지 BLOB를 저장하는 대신이 대체 방법을 사용했습니다. 나는 또한 이것을 얻고 최대한 빨리 달리고 싶다. Azure Web App에서 sFTP 서버를 만들 수 있습니까? 지금은 그렇게 보이지 않습니다. –
오류 메시지가 나타 났습니까? –
아니요. 노드 디버거를 사용하여 중단 점을 추가했으며 오류가 발생하지 않았으며 응용 프로그램 로그에 중단 점이 없었습니다. –