Как скачать несколько файлов в ответ - PullRequest
0 голосов
/ 17 декабря 2018

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

Я пытаюсь создать код для загрузки файла (.h264 и .json).), похоже, это работает для некоторых людей:
- Загрузка нескольких файлов одним действием
- Как разрешить пользователю загружать несколько файлов при нажатии кнопки?

Моя последняя попытка заключается в следующем:

function(uri, data, name) {
    let link = document.createElement("a");
    link.download = name;
    link.href = 'data:'+data+';charset=utf-8;base64,'+uri;
    link.target = "blank_";
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
  }

uri - это данные моего файла, полученные ранее с помощью axios.data является типом пантомимы.

Эта функция используется здесь:

ListPath.forEach(path => {
    axios.all([axios.get(path+".h264"), axios.get(path+".json")]).then((data) => {
        console.log(data[0], data[1]);
        Utils.downloadFile(data[0].data, 'video/H264', "movie.h264");
        Utils.downloadFile(data[1].data, 'application/JSON', "data.json");
      }).catch(error => console.log(error))
})

И когда я нажимаю, чтобы загрузить одну вещь (один h264 и его json, связанный), он пытается загрузить толькоJSON и не удалось («Ошибка сети») и перенаправить на about:blank.Если я добавлю комментарий в строку json, то он загрузит только перенаправление.

Я также попробовал метод с window.open(), так что код такой:

ListPath.forEach(path => {
    window.open(path+".h264", '_blank');
    window.open(path+".json", '_blank');
})

Вот видео h264Это загрузка, но она дает только псевдоним реальной ссылки (Например, если мы загружаем наш файл на http://mywebsite.com/data.json, а в файле он дает одну строку с http://mywebsite.com/data.json), а для json он отображался только на другой вкладке.

Я использую Chrome под macOS для тестирования.

Я также пробовал модуль js-download-file npm, но проблема та же, что и раньше.

...