узлы; загрузка пользователем через удаленный файловый сервер - PullRequest
0 голосов
/ 13 февраля 2020

browser request - webserver - fileserver (only access from webserver ip) - webserver - browser download

У меня есть веб-сервер и файловый сервер. Веб-серверу разрешен доступ к файловому серверу (IP-фильтр). Я хотел бы поделиться файлом / сделать его загружаемым с файлового сервера, но без необходимости делать доступный c доступ к файловому серверу. Я думаю о создании API на файловом сервере (небольшой веб-сервер)

router.get('/download', async (req, res) => {
    res.header("Access-Control-Allow-Origin", "https://testserver");
    res.header("Access-Control-Allow-Headers", "X-requested-With");
    res.download(__dirname + '/../download/'+req.query.file, req.query.file)
})

А затем загрузить файл через веб-сервер и затем отправить его в браузер / пользователя

router('/downloadOnTheWebserver', (req,res) => {
...
res.download(request('testserver' + someFileToDownload').pipe(make a downloadstream somehow)) 

Это способ сделать это, и как ...?

1 Ответ

0 голосов
/ 19 февраля 2020

Ну, я сделал это:

Файловый сервер:

router.get('/download', async (req, res) => { 
res.download(__dirname + '/folder/filename')

})

Веб-сервер:

var pdfstream = request.get("https://downloadlinkonfileserver)
res.attachment('filename'); 
pdfstream.pipe(res)
res.on('finish',function (err,data){
  if(err){
    throw err
  } else {
    console.log('It went well');
}
...