簡體   English   中英

Flex文件下載

[英]Flex File download

我目前正在研究Flex3 / blazeDS / Spring / Oracle項目。 我的要求是在網格中顯示來自外部FTP服務器的文件列表,用戶可以選擇單個文件或多個文件進行下載,如果用戶選擇多個文件,我應該將文件壓縮到FTP服務器上,然后從FTP下載tar文件服務器到用戶磁盤。 根據我對Flex中文件下載的了解,我們有2種方法可以完成此操作。 1)文件參考2)使用NavigationURL並調用服務器端JSP / Servlet以下載文件。

1)對於FileReference,我們需要先下載數據,然后單擊某些按鈕提示用戶保存文件。 出於安全方面的考慮,我們無法在Flex中提示沒有單擊事件的“保存”對話框( 替代方法 )。 但是我的客戶討厭這個過程,因為它需要兩個步驟,他希望一步就可以像只通過“保存”對話框進行常規文件下載一樣。 然后我嘗試了第二種選擇。

2)navigationURL。 打開一個新窗口,向JSP / Servlet發出發布URL請求,並提示“保存”對話框。 我在這里面臨的問題是下載完成后,彈出窗口無法關閉。 navigationURL不會返回對該窗口的任何引用以關閉該窗口。 我什至嘗試了不同的內容類型,標頭和Java腳本,但似乎都沒有用。 當它是單個文件而不是tar或zip文件時,該窗口關閉。 我想下載任何類型的下載的彈出窗口。 我正在使用IE7。

任何幫助或任何其他可能的解決方案表示贊賞。 提前致謝。

您可以使用隱藏的iframe。 這樣,不涉及彈出/新選項卡,僅涉及“保存”對話框。

為此,您需要在頁面上使用一些JavaScript。 像這樣的東西應該這樣做:

<script language="JavaScript" type="text/javascript"> 
function makeFrame(theUrl) { 
   ifrm = document.createElement("IFRAME"); 
   ifrm.setAttribute("src", theUrl); 
   ifrm.style.width = 640+"px"; 
   ifrm.style.height = 480+"px"; 
   document.body.appendChild(ifrm); 
} 
</script> 

要從Flex調用函數,請使用ExternalInterface

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM