文件下载 - ExtJs 4.2.3

时间:2015-09-23 09:55:42

标签: javascript extjs download

我正在使用ExtJs 4.2.3。 在我的Web应用程序中,我需要下载文件。 为了做到这一点,我正在使用post中定义的'FileDownloader'组件 fileDownloader

代码是:

Ext.define('myApp.FileDownload', {
   extend: 'Ext.Component',
   alias: 'widget.FileDownloader',
   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.Object.toQueryString(config.params) : '');

        console.log('in FileDownloader - src: ' + e.dom.src);

        e.dom.onLoad = function() {
        if(e.dom.contentDocument.body.childNodes[0].wholeText == '404') {
            Ext.Msg.show({ 
                title: 'Attachment missing',
                msg: 'File cannot be found on the server !',
                buttons: Ext.Msg.OK,
                icon: Ext.MessageBox.ERROR
            });
        };
    };

}

});

我用代码称呼它:

downloader.load({
   url: src
});

其中src是文件的完整路径。

如果我下载Word,Excel,PDF文件它运行良好,文件参考在浏览器的下载栏中可视化,但是对于其他数据类型(例如.txt,.jpg),它什么都不做。

1 个答案:

答案 0 :(得分:0)

我认为这不是关于Extjs或js的问题,而是服务器的响应。见download the text file instead of opening in the browser