使用ExtJs實現文件下載


文件下載,是不可以直接通過Ext.Ajax.Request來實現的。一般的,可以通過創建一個隱藏的form表單來實現。具體代碼以及代碼注釋如下:

復制代碼
if (!Ext.fly('downForm')){      //如果不存在一個id為"downForm"的form表單,則執行下面的操作

 //下面代碼是在創建一個表單以及添加相應的一些屬性 var downForm = document.createElement('form'); //創建一個form表單  downForm .id = 'downForm';   //該表單的id為downForm downForm .name = 'downForm'; //該表單的name屬性為downForm downForm .className = 'x-hidden'; //該表單為隱藏的 downForm .action = 'download.action'; //表單的提交地址 downForm .method = 'post'; //表單的提交方法

 //下面代碼是下載文件需要傳遞附加參數時才寫的
 //其原理很簡單,就是添加input,然后再添加name和value即可
 //其中,name屬性時參數名稱,value是參數的值 var data = document.createElement('input'); //創建一個input節點 data.type = 'hidden';  //隱藏域 data.name = 'data';   //需要傳遞給后台的參數名 data.value = "666"; //參數值

downForm.appendChild(data); //將input節點追加到form表單里面 document.body.appendChild(downForm ); //講form表單追加到body里面
} Ext.fly('downForm').dom.submit(); //調用form表單的submit方法,提交表單,從而開始下載文件

//因為表單已經提交了,文件也開始下載了,所以過河拆橋,把表單移除掉
//如果存在id為downForm的表單,則將它移除掉 if (Ext.fly('downForm')){ document.body.removeChild(downForm ); }
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM