麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

23.1.下載文件

2024-04-27 13:46:58
字體:
來源:轉載
供稿:網(wǎng)友
問題
我想讓用戶從服務器上下載文件
解決辦法
使用FileReference 對象的download( ) 方法
討論
flash.net.FileReference 類定義了一個download( ) 方法允許用戶通過URL下載文件。當Flash播放器調用download( )方法時,它試圖打開一個對話框,標題為"Select location for download.",這個對話框使用標準的系統(tǒng)對話框讓用戶選擇文件保存路徑。

在調用download( )方法之前,先構造一個FileReference 對象,如:
+展開
-ActionScript
var fileReference:FileReference = new FileReference( );

download( ) 方法至少需要一個URLRequest 對象作為參數(shù),指定下載文件的路徑,下面的例子打開保存對話框保存下載的example.txt 文件:
+展開
-ActionScript
var urlRequest:URLRequest = new URLRequest("example.txt");
fileReference.download(urlRequest);

文件路徑還可以是絕對路徑:
+展開
-ActionScript
var urlRequest:URLRequest = new URLRequest("http://www.myexamplesite.com/example.txt");
fileReference.download(urlRequest);

保存對話框允許對下載的文件進行重命名,默認是與服務器文件的名稱相同,如上面的例子,

保存對話框顯示的名稱為example.txt。但在大多數(shù)情況下,我們喜歡重命名文件,比如一個有服務端腳本產生的靜態(tài)文件采用統(tǒng)一的命名規(guī)則進行命名(如R7AS82892KHWI014.jpg) 可能它不會顯示出這個名字,因為這是由服務端腳本動態(tài)生成,如果URLRequest對象指向這個腳本那么保存對話框顯示的可能就是腳本的名字(如., script.cgi),這樣很不友好,也將導致文件無法被系統(tǒng)識別,因為文件擴展名并不正確。

download( ) 方法的第二個參數(shù)就是指定顯示在保存對話框的文件名,下面的例子演示用戶下載一個動態(tài)生成的圖片文件,默認的文件名為(script.cgi),這里指定保存的文件名為example.jpg:
+展開
-ActionScript
var urlRequest:URLRequest = new URLRequest("script.cgi");
fileReference.download(urlRequest, "example.jpg");

download( ) 方法最好放在try...catch 語句中執(zhí)行,因為該方法可能會拋出異常,主要兩種異常:
IllegalOperationError和SecurityError。當保存對話框已經(jīng)打開的情況下調用download( )方法會拋出IllegalOperationError,SecurityError異常是由于SWF不允許下載所導致。
+展開
-ActionScript
try {
fileReference.download(urlRequest, fileName);
}
catch (illegalOperation:IllegalOperationError) {
// code to handle an illegal operation error
}
catch (security:SecurityError) {
// code to handle a security error
}

還有些不太常見的異常,如ArgumentError和MemoryError。ArgumentError是由于URLRequest 的data屬性不是URLVariables。雖然URLRequest的data屬性可設置為二進制數(shù)組,但是download( )方法只有在data屬性為URLVariables時才有效。memory 異常比較少見,有兩種可能會導致此異常:當URLRequest設置為GET請求而且System.useCodePage為true,F(xiàn)lash播放器將不能把Unicode轉換到字節(jié)字符格式,還有可能就是Flash播放器沒有足夠的內存打開保存對話框。

像SecurityErrorEvent 和IOErrorEvent. 異常必須監(jiān)聽異常處理函數(shù), 如下面的例子為IOErrorEvent添加處理函數(shù):
+展開
-ActionScript
fileReference.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲午夜电影 | 免费观看黄视频 | 国产精品中文在线 | 有色视频在线观看 | 国产1区2| 亚洲一区成人在线 | 欧美日本一 | 亚洲最新色 | 九色在线78m | 国产午夜三级一区二区三桃花影视 | 欧美一级不卡视频 | 久久精品中文字幕一区二区三区 | 成人在线a| 91精品国产成人 | 精品一区二区三区免费毛片爱 | 国产精品视频一区二区三区四 | 成熟女人特级毛片www免费 | 日本精品久久久一区二区三区 | 亚洲一级成人 | 亚洲成人国产综合 | av免费在线播放网址 | 日本一级黄色大片 | 911网站大全在线观看 | 久青草免费视频 | 成年人黄色免费网站 | 九一国产精品 | 欧美一级全黄 | 欧美特黄a | 欧美a区| 成人在线网站 | 亚洲午夜免费 | 国产女同疯狂激烈互摸 | 亚洲精品午夜在线 | 美女av在线免费观看 | 国产91一区二区三区 | 国产欧美日韩视频在线观看 | 欧美日韩免费一区二区三区 | 黄色视频a级毛片 | av成人免费在线观看 | 中文字幕一二三区芒果 | 狠狠干精品视频 |