使用ExtJS 4.2.3,我有FORM附件列表。当我点击其中一个附件名称时,它开始下载。我不需要下载,而是需要能够在点击时打开或保存文件。
代码示例:
<script type="text/javascript" language="javascript">
Ext.onReady(function () {
var trGuid = Ext.Object.fromQueryString(location.search).trGUID;
Ext.define("File_model", {
extend: "Ext.data.Model",
fields: [
{ name: 'document_GUID', type: 'string' },
{ name: 'attachment_fileName', type: 'string' },
]
}); // end Model
Ext.create('Ext.data.Store', {
storeId: 'FileStore',
model: "File_model",
proxy: {
type: 'jsonp',
url: 'http://test/AttachmenttoHTML/List',
extraParams: { trGUID: trGuid },
reader: {
type: 'json',
root: 'data'
}
},
autoLoad: true
}); // end Store
FileGrid = new Ext.grid.Panel({
renderTo: "EXT-CONTENT",
width: 750,
height: 500,
listeners: {
cellclick: function (table, td, cellIndex, record, tr, rowIndex, e) {
var url = 'http://test/Attachment/Get?document_GUID=' + record.get("document_GUID");
console.log(url);
window.location = url;
}
},
columns: {
defaults: { filter: true },
items: [
{ text: 'Name', dataIndex: 'attachment_fileName', width: 748, cellWrap: true }
]
},
store: Ext.data.StoreManager.lookup('FileStore')
}); // end TaskGrid
}); // end onReady
</script>
答案 0 :(得分:0)
在你的手机点击功能中,你需要调用这样的函数:
function openDialogue(url) {
Ext.MessageBox.show({
title:'Export',
msg: 'Souhaitez vous télécharger le document?',
buttons: Ext.MessageBox.YESNOCANCEL,
fn: showResult,
animateTarget: 'mb4',
icon: Ext.MessageBox.QUESTION
});
}
您可以找到更多avout消息框(http://docs.sencha.com/extjs/4.0.7/#!/example/message-box/msg-box.html)。
函数showResult将像以前一样重定向到url。
否则,您可以使用window.open进行de save对话框。
希望它有所帮助!