Как перенаправить якорный href вызов в индексированную БД и загрузить документ - PullRequest
0 голосов
/ 24 сентября 2018

Можно ли каким-либо образом перехватить вызов, инициированный тегом href, прочитать содержимое из индексированного db и загрузить файл.

Сценарий Я разрабатываю автономное приложение, когда пользователи просят получить контент для автономного режима.Когда пользователь щелкает тег href,

<a href='http://downlod.com/downloaddcoument'>download</a>

, он должен прочитать ответ, сохраненный в индексированной базе данных, и загрузить файл. У работника сервиса опция извлечения не может отследить этот вызов, поэтому не может

Я пытался с $http.get и получаю ответ, но не могу загрузить файл.

Любая ссылка на подсказку будет большой помощью, спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

Для этого вы должны выполнить такой вызов загрузки, после чего сработает событие извлечения, и вы можете отправить ответ в Indexed db, а в автономном режиме вы можете прочитать из indexed db

downloadfile() {
        var self = this;
        var getComment = 'http://localhost/CommentService/api/Products/GetbookFor?format=xlsx';
        this.httpservice.get(getComment).then(function (response) {
            self.saveData(response.data, "sampleFile.xlsx");
        });  
    }

saveData = (function () {
    var a = document.createElement("a");
    document.body.appendChild(a);
    // a.style = "display: none";
    return function (data, fileName) {
        var json = JSON.stringify(data),
            blob = new Blob([json], { type: "octet/stream" }),
            url = window.URL.createObjectURL(blob);
        a.href = url;
        a.download = fileName;  
        a.click();
        window.URL.revokeObjectURL(url);
    };
}());
...