Не удается загрузить файл с таким же форматом в Inte rnet Explorer - PullRequest
1 голос
/ 28 апреля 2020

Я использую JavaScript для загрузки файла из указанной c папки.
Я не могу загрузить файл с таким же расширением.
Он загружается в формате .html.
Как можно я избавился от этой проблемы, особенно в Internet Explorer (IE)?

Вот Javascript Функция

function downloadFile(baseUrl) {
    window.open(baseUrl+'/appResource/FileFormat.docx','Download');
}

1 Ответ

2 голосов
/ 28 апреля 2020

Какую версию браузера IE вы используете? Я попытался проверить следующий код в браузере IE 11, все они загружают файл с одинаковым именем и расширением (если не существует файла с таким же именем).

window.open('/file/Document2.docx', 'Download');

и

window.open('https://file-examples.com/wp-content/uploads/2017/02/file-sample_1MB.doc', 'Download');

Попробуйте сбросить настройки браузера IE и проверить, решит ли это проблему.

Кроме того, обратитесь к следующему коду Вы также можете прочитать файл в blob (или строку base64), а затем использовать метод msSaveOrOpenBlob для загрузки файла с именем файла в браузере IE и использовать атрибут загрузки тега для загрузки файла (поскольку браузер IE) не поддерживает атрибут загрузки ).

  if (window.navigator && window.navigator.msSaveOrOpenBlob) {
        //IE11 and the legacy version Edge support
        console.log("IE & Edge");
        let blob = new Blob([data], { type: "text/html" });
        window.navigator.msSaveOrOpenBlob(blob, fileName);
    } else {// other browsers
        console.log("Other browsers");
        var bl = new Blob([data], { type: "text/html" });
        var a = document.createElement("a");
        a.href = URL.createObjectURL(bl);
        a.download = fileName;
        a.hidden = true;
        document.body.appendChild(a);
        a.click();
    }
...