Как назначить имя файла вместо пути при загрузке файла? - PullRequest
0 голосов
/ 06 ноября 2019

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

В настоящее время при запуске скрипта загрузки он сохраняет (в случае xslx) / открывает (в случае pdf) файлс полным путем к файлу.

downloadSelectedFile(url) {
      var fileName = url.split("/").pop();
      if (fileName && fileName !== "") {
        var fileLink = document.createElement("a");
        fileLink.target = "blank";
        fileLink.href = url;
        fileLink.download = fileName;
        document.body.appendChild(fileLink);
        fileLink.click();
        document.removeElement("a");
      }
    }

Скриншот файла Xslx:

xslx file screenshot

Скриншот файла PDF:

Pdf file screenshot

, поэтому вместо сохранения его как "/ AllFiles / Опубликованные отчеты / 10167 / Новый отчет-9.xslx" какМогу ли я сохранить его как New-Report-9.xslx

, чтобы вместо открытия его как "/ AllFiles / Опубликованные отчеты / 10167 / New-Report-9.pdf" как мне сохранить его как New-Report-9.pdf

Любые предложения будут полезны.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Вы можете просто использовать

document.location.assign(url_to_file);

Chrome открыл документ .pdf, потому что у него есть внутренний функционал для pdf

0 голосов
/ 06 ноября 2019
    function saveAs(uri, filename) {
    var link = document.createElement('a');
    if (typeof link.download === 'string') {
        document.body.appendChild(link); // Firefox requires the link to be in the body
        link.download = filename;
        link.href = uri;
        link.click();
        document.body.removeChild(link); // remove the link when done
    } else {
        location.replace(uri);
    }
}
...