DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> showModelDialog彈出文件下載窗口的使用示例
showModelDialog彈出文件下載窗口的使用示例
編輯:JQuery特效代碼     

當點擊我要修改時,需要在後台生成excel文件,同時需要提供下載文件功能。
生成excel文件容易、彈出”文件下載”也容易:
點擊按鈕,跳轉到action中,在該action中生成Excel文件,填充數據,保存到臨時文件夾中,然後在按鈕的Click事件中,根據模板生成Excel報表,填充數據,保存到臨時文件夾,然後output.wirte()。一切看起來很順利。
Action如下(彈出"文件下載"窗口):

. 代碼如下:
/**
*@paramresponse
*@paramdownloadFile
*/
privatevoidclientResponse(HttpServletResponseresponse,FiledownloadFile,StringfileName){
try{
response.reset();
response.setContentType("application/octet-stream");

//用來彈出保存窗口,設置為attachment
response.setHeader("Content-Disposition","attachment;filename="+newString(fileName.getBytes(),"ISO-8859-1"));
InputStreaminput=newFileInputStream(downloadFile);
OutputStreamoutput=response.getOutputStream();
intc;
//讀取流並寫入到文件中
while((c=input.read())!=-1){
output.write(c);
}
output.flush();
output.close();
input.close();
}catch(Exceptione){
}
}

但是當測試的時候,發現我點擊”我要修改”按鈕,總是會彈出一個新的窗口。百度一下,加了這段:<basetarget="_self">,這個表示在當前頁打開頁面。
如下:
base:為頁面上的所有鏈接規定默認地址或默認目標
target:跳轉到的目標頁
<basetarget=_blank><!--在空白頁打開-->
<basetarget=_parent><!--在當前頁的上一頁(父類)打開-->
<basetarget=_search><!--在浏覽器地址欄打開-->
<basetarget=_self><!--在當前頁打開-->
<basetarget=_top><!--在最初(首頁)頁打開-->
這個問題解決了,但是新的問題又來了,就是文件不可以下載。所以我有沒有那種方法既可以在本頁打開,又可以提供下載呢?想到了iframe框架。我們可以設置一個看不見的iframe框架,然後target=iframName就可以解決了。

. 代碼如下:
<iframe id="download" name="download" height="0px" width="0px"></iframe>

<base target="download">

這<base...>位於<head></head>之間

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved