Невозможно загрузить файл в node.js после развертывания, используя docker с nginx - PullRequest
0 голосов
/ 09 января 2020
    app.get('/download', (req, res) => {


    const file = path.join(__dirname, 'demo.txt');
    const filename = path.basename(file); 

    res.setHeader('Content-disposition', `attachment; filename=${filename}`);
    res.setHeader('Content-type', 'application/octet-stream');

    const filestream = fs.createReadStream(file);
    console.log('done-task', res.header);
    return filestream.pipe(res);
    });

В локальной настройке: он работает хорошо, и я могу загрузить файл из своего браузера.

Но реальная проблема начинается здесь

My Nginx config :

#Reverse-Proxy  API Application
upstream pqw_api {
# api calls proxied
server 127.0.0.1:8080;
}


    location /download {
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://pqw_api;
        proxy_pass_request_headers on;
        proxy_redirect off;
# revert back to normal if it is not working
        include /etc/nginx/mime.types;
        add_header Content-Disposition 'attachment; filename="demo.txt"';
        # proxy_buffer_size 128k;
        # proxy_buffers 4 256k;
        # proxy_busy_buffers_size 256k;
        # proxy_read_timeout 160;
        # proxy_send_timeout 160;
    }

При развертывании nginx выполняется в другом контейнере, а код node.js выполняется в другом контейнере.

Итак, развертывание завершено. Когда я получаю доступ к URL-адресу для загрузки, я получаю 200 кодов статуса, но файл не загружается.

Может кто-нибудь мне помочь. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...