我正在使用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),它什么都不做。
答案 0 :(得分:0)
我认为这不是关于Extjs或js的问题,而是服务器的响应。见download the text file instead of opening in the browser