0

I'm using ExtJs 4.2.3. In my web application I need to download files. In order to do that I'm using a 'FileDownloader' component defined as in post fileDownloader

The code is:

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
            });
        };
    };

}

});

I call it by code:

downloader.load({
   url: src
});

where src is complete path to file.

If I download Word, Excel, PDF files it's working well, file reference is visualized in download bar of browser, but with other data types (ex. .txt, .jpg) it doesn't do nothing.

Community
  • 1
  • 1
henry60
  • 463
  • 12
  • 24

1 Answers1

0

I think it's no a question about Extjs or js, it's the server's reponse. See this download the text file instead of opening in the browser

Community
  • 1
  • 1
Aladin Lee
  • 51
  • 1
  • 7