Sencha ExtJS PDF下载

问题描述

Sencha ExtJS中,我有一个相当复杂的前端,后端是Python/Django

我需要通过PDFs后端下载Django,该后端需要身份验证。我尝试了iFrame和window.open,但无法通过这种方法传递auth令牌。

如何通过身份验证从后端完成pdf下载?

预先感谢

还原

解决方法

您可以尝试使用Ext.Ajax请求。像这样:

const authToken = 'SomeAuthToken';
const fileName = 'SomeFile.pdf';
const fileType = 'application/pdf';

Ext.Ajax.request({
    url: './' + fileName,headers: {
        'Authorization': authToken
    },binary: true,success: function (response,opts) {
        var windowUrl = window.URL || window.webkitURL;
        var url = windowUrl.createObjectURL(new Blob([response.responseBytes],{type: fileType}));
        var anchor = document.createElement('a');
        anchor.href = url;
        anchor.download = fileName;
        anchor.click();
    },failure: function (response,opts) {
        console.log('server-side failure with status code ' + response.status);
    }
});

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...