使用Ext JS 6下载文件

埃尔南·迪亚兹(Hernan Diaz)

我正在尝试根据此帖子从服务器上使用带有Ext JS 6组件的文件下载文件:通过Ext js 4下载文件

这是组件代码:

Ext.define('Aft.view.search.FileDownload', {
extend: 'Ext.Component',
alias: 'widget.acw-fileDownload',
autoEl: {
    tag: 'iframe',
    cls: 'x-hidden',
    src: Ext.SSL_SECURE_URL
},
load: function(config){
    var e = this.getEl();
    e.dom.src = config.url +
        (config.params ? '?' + Ext.urlEncode(config.params) : '');
    e.dom.onload = function() {
        if(e.dom.contentDocument.body.childNodes[0].wholeText == '404') {
            console.
            Ext.create('Acw.view.commons.notifications.Error', {
                html: 'The document you are after can not be found on the server.',
                closeAll: true
            }).show();
        }
    }
}
});

这是获取文件的调用:

doExportData: function(){
    this.getView().load({
        url: '/aft/faults/download-file'

});

这是Spring rest服务返回的模拟文件:

@RequestMapping(value = "/download-file", method = RequestMethod.POST)
public void downloadFilePost(HttpServletResponse response) {

    String csvFileName = "searchFaults.csv";
    response.setContentType("text/csv");

    // creates mock data
    String headerKey = "Content-Disposition";
    String headerValue = String.format("attachment; filename=\"%s\"", csvFileName);
    response.setHeader(headerKey, headerValue);

    try {
        CSVWriter writer = new CSVWriter(response.getWriter(), '\t');
        String[] entries = "first#second#third".split("#");
        writer.writeNext(entries);
        writer.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

但是,当我打电话时,我得到的是这样的:

[E] Ext.JSON.decode():您正在尝试解码无效的JSON字符串:“ first”“ second”“ third”未捕获的错误:您正在尝试解码无效的JSON String:“ first”“ second “ “第三”

似乎有些东西到达了客户端,但它正在尝试将其解析为JSON。尽管如此,如果我将RequestMethod更改为GET并直接在浏览器中键入URL,则会得到该文件,这使我认为标头是正确的。

有人可以帮我解决这个问题,还是您正在使用其他方法/组件从服务器下载文件?

埃尔南·迪亚兹(Hernan Diaz)

只需使用以下代码即可下载文件:

doExportData: function(config){
    window.location.assign(config.url + 
   (config.params ? '?' + Ext.urlEncode(config.params) : ''));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用React.JS从Node.JS API REST(快速)下载文件(Axios Get)

来自分类Dev

使用Laravel从Amazon S3下载文件

来自分类Dev

在iOS 6上使用AFNetworking下载文件

来自分类Dev

使用node.js,流和promise下载文件

来自分类Dev

如何使用urllib3下载文件?

来自分类Dev

如何使用HTTPS使用Node.js下载文件?

来自分类Dev

无法使用API从Google云端硬盘下载文件-node.js

来自分类Dev

Express js:如何使用POST请求下载文件

来自分类Dev

如何使用Retrofit2下载文件?

来自分类Dev

为什么不使用Node.js下载文件?

来自分类Dev

使用node.js从POST请求下载文件

来自分类Dev

在提示下使用Struts2下载文件

来自分类Dev

使用Vue.js和Python Flask下载文件

来自分类Dev

如何在不使用html中的下载标签的情况下创建可下载文件?

来自分类Dev

如何在节点js中使用okhttp库下载文件

来自分类Dev

使用Flask和JS从服务器下载文件

来自分类Dev

使用express.js下载文件的缓冲区

来自分类Dev

如何使用带有Node.js代码的AWS Lambda从URL下载文件

来自分类Dev

使用React.JS从Node.JS API REST(快速)下载文件(Axios Get)

来自分类Dev

无法使用Node.js SDK下载文件夹内的Blob

来自分类Dev

使用带有axios的Node JS下载文件并确定MIME类型,文件类型

来自分类Dev

在iOS 6上使用AFNetworking下载文件

来自分类Dev

如何使用node.js和http下载文件?

来自分类Dev

使用angular.js,asp.net下载文件

来自分类Dev

使用Node Express JS下载文件

来自分类Dev

如何使用Node.js从项目/特定位置下载文件?

来自分类Dev

如何使用http post Node.js下载文件

来自分类Dev

使用主干js下载文件后如何重定向到其他视图?

来自分类Dev

Excel 文件下载被 Ext JS 阻止

Related 相关文章

热门标签

归档