NodeJs: я получаю текстовый файл 0 байт после принудительной загрузки через Content-Diposition? - PullRequest
0 голосов
/ 08 июля 2019

Я получаю TXT-файл размером 0 байт после принудительной загрузки, иногда, когда я обновляю его и нажимаю на одну и ту же ссылку, он отлично работает. У меня несколько ссылок на скачивание, эта ошибка отображается случайным образом на разных ссылках.Но после обновления все работает отлично. Я перепробовал все приемы, но ни один из них не помог мне.

Буду очень признателен, если вы, ребята, можете помочь.

Я пытаюсь скачать видео сgooglevideos и когда я проверяю ссылку, она работает отлично.

Ссылка работает, но когда я нажимаю на загрузку, он показывает 0 байт TXT после обновления, нажмите на ту же ссылку, работает нормально :(PS: ссылки работают.

`router.get('/download', function(req, res){
  var url = req.query.url;
  console.log(url);
  var filename = req.query.filename;
  https.get(url, function(response) {
            console.log(url);
            filename = filename.split('%20').join('_');
            //console.log(filename);
            //res.setHeader("Content-Length: ".strlen($data));
           // res.setHeader('Content-Type:' 'text/html; charset=UTF-8');
            res.setHeader('Content-disposition', 'attachment; filename='+filename);
            response.pipe(res);

    })`

Javascript код.

`<script>
function downloadVideo(url) {

        window.location = '/download?url=' + encodeURIComponent(url) + '&filename=' + encodeURIComponent('{{@root.meta.name}}');
}
</script>
 ` 

HTML-код файла

`<div class="column-box column-4">
  <a class="down-link" target="_blank" onclick="downloadVideo('{{url}}')" ><span class="glyphicon glyphicon-arrow-down"></span> Download </a>
  </div>
`
...