適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
flash.media 

AVURLStream  - AS3

套件flash.media
類別public class AVURLStream
繼承AVURLStream Inheritance URLStream Inheritance EventDispatcher Inheritance Object

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

URLStream 類別會提供對於下載 URL 的低階存取。 當資料下載完成時,應用程式的程式碼就可以立即使用該資料,而不用等到整個檔案下載完成 (就如同使用 URLLoader 一樣)。URLStream 類別也可以讓您在完成下載前關閉串流。 下載的檔案內容會以原始二進位資料提供。

URLStream 中的讀取作業是非阻隔式。 這表示您必須使用 bytesAvailable 屬性來判斷是否有足夠的可用資料,然後再讀取資料。 如果沒有足夠的可用資料,就會擲回 EOFError 例外。

根據預設,所有二進位資料都會使用 Big-Endian 格式編碼,而且是最高位元組在前。

套用至使用 URLStream 類別之 URL 下載的安全性規則與套用至 URLLoader 物件的規則完全相同。 原則檔會視需要下載。 本機檔案安全性規則會強制套用,而且安全性警告會視需要提出。

相關 API 元素

URLLoader
URLRequest


公用屬性
 屬性定義自
 InheritedbytesAvailable : uint
[唯讀] 會傳回可在輸入緩衝區中讀取之資料的位元組數。
URLStream
 Inheritedconnected : Boolean
[唯讀] 指出此 URLStream 物件目前是否已連線。
URLStream
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
  cookieHeader : String
[唯寫]
AVURLStream
 Inheritedendian : String
表示資料的位元組順序。
URLStream
 InheritedobjectEncoding : uint
會控制寫入或讀取物件時使用的 Action Message Format (AMF) 版本。
URLStream
公用方法
 方法定義自
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。
EventDispatcher
 Inherited
會立即關閉串流並取消下載作業。
URLStream
 Inherited
會將事件傳送到事件流程。
EventDispatcher
 Inherited
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。
EventDispatcher
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
  
[覆寫] 開始下載 request 參數中指定的 URL。
AVURLStream
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
會從串流讀取 Boolean 值。
URLStream
 Inherited
會從串流讀取具有正負號的位元組。
URLStream
 Inherited
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
從串流讀取資料的 length 位元組。
URLStream
 Inherited
會從串流讀取 IEEE 754 雙精度浮點數。
URLStream
 Inherited
會從串流讀取 IEEE 754 單精度浮點數。
URLStream
 Inherited
會從串流讀取具有正負號的 32 位元整數。
URLStream
 Inherited
readMultiByte(length:uint, charSet:String):String
會使用指定的字元集,從位元組串流讀取指定之長度的多位元組字串。
URLStream
 Inherited
會從通訊端讀取物件,以 Action Message Format (AMF) 編碼。
URLStream
 Inherited
會從串流讀取具有正負號的 16 位元整數。
URLStream
 Inherited
會從串流讀取無正負號的位元組。
URLStream
 Inherited
會從串流讀取無正負號的 32 位元整數。
URLStream
 Inherited
會從串流讀取無正負號的 16 位元整數。
URLStream
 Inherited
會從串流讀取 UTF-8 字串。
URLStream
 Inherited
從串流讀取 length UTF-8 位元組的序列,然後傳回字串。
URLStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
會從 EventDispatcher 物件移除偵聽程式。
EventDispatcher
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
 Inherited
會傳回指定之物件的字串形式。
Object
 Inherited
會傳回指定之物件的基本值。
Object
 Inherited
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。
EventDispatcher
事件
 事件 摘要 定義自
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。EventDispatcher
 Inherited在順利載入資料時傳送。URLStream
 Inherited[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。EventDispatcher
 Inherited當 URLStream.load() 方法呼叫嘗試透過 HTTP 存取資料,而且 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。URLStream
 Inherited當 URLStream.load() 呼叫嘗試透過 HTTP 存取資料,而且 Flash Player 或 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。URLStream
 Inherited發生輸入/輸出錯誤,因而導致載入作業失敗時傳送。URLStream
 Inherited在載入作業開始時傳送。URLStream
 Inherited在下載作業進行中收到資料時傳送。URLStream
 Inherited當 URLStream.load() 的呼叫嘗試從安全執行程序以外的伺服器載入資料時傳送。URLStream
屬性詳細資訊

cookieHeader

屬性
cookieHeader:String  [唯寫]



實作
    public function set cookieHeader(value:String):void
方法詳細資訊

load

()方法
override public function load(request:URLRequest):void

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會開始下載 request 參數中指定的 URL。

注意: 如果正在下載的檔案包含非 ASCII 字元 (例如,許多非英文語系字元),建議您將檔案儲存為 UTF-8 或 UTF-16 編碼,而不要儲存為類似 ASCII 的非 Unicode 格式。

如果載入作業立即失敗,就會擲回描述失敗的 IOError 或 SecurityError (包括本機檔案安全性錯誤) 例外; 否則,如果 URL 下載順利開始下載,便會傳送 open 事件,或者在發生錯誤時會傳送錯誤事件。

根據預設,呼叫的 SWF 檔與您所載入的 URL 必須位於完全相同的網域中。例如,www.adobe.com 的 SWF 檔只能從同樣在 www.adobe.com 中的來源載入資料。 若要從不同的網域載入資料,請在存放該資料的伺服器上放置一個 URL 原則檔案。

您無法從 Flash Player 連線到常用的保留連接埠。完整的封鎖連接埠清單,請參閱在「ActionScript 3.0 開發人員指南」中的「限制網路 API」

在 Flash Player 中,如果您希望防止 SWF 檔使用此方法,可以在包含 SWF 內容的 HTML 頁面中,設定 objectembed 標籤的 allowNetworking 參數。

在 Flash Player 10 和 AIR 1.5 及其更新版本,如果您使用包含上載 (由 POST 主體中 "content-disposition" 檔頭的 "filename" 參數指示) 的多部分 Content-Type (例如 "multipart/form-data"),POST 作業會受限於上載所套用的安全性規則:

  • 必須執行 POST 作業,以回應使用者啟動的動作 (例如按下滑鼠或按下按鍵)。
  • 如果 POST 作業會跨越網域 (POST 目標與傳送 POST 要求的 SWF 檔不在同一部伺服器上),目標伺服器必須提供允許跨網域存取的 URL 原則。

此外,多部分的 Content-Type 語法必須有效 (符合 RFC2046 標準)。如果語法無效,POST 作業會受限於上載所套用的安全性規則。

這些規則僅適用於非應用程式安全執行程序中的 AIR 內容。但在 Adobe AIR 中,位於應用程式安全執行程序的內容 (使用 AIR 應用程式所安裝的內容) 沒有這些安全性限制。

如需安全性詳細資訊,請參閱「Flash Player 開發人員中心」主題:安全性

在 AIR 中,URLRequest 物件能夠註冊 httpResponse 狀態事件。與 httpStatus 事件不同,httpResponseStatus 事件在傳送任何回應資料之前會行先傳送。此外,httpResponseStatus 事件也包含 responseHeadersresponseURL 屬性的值 (尚未針對 httpStatus 事件而定義)。請注意,httpResponseStatus (如果有的話) 將在 (另外) 任何 completeerror 事件之前傳送。

如果「已有」httpResponseStatus 事件偵聽程式,就「一定」會傳送回應訊息的主體,而且 HTTP 狀態碼回應必然造成 complete 事件。無論 HTTP 回應狀態碼指出成功或錯誤都是如此。

在 AIR 中,如果「沒有」httpResponseStatus 事件偵聽程式,其行為將因 SWF 版本而異:

  • 若為 SWF 9 內容,只有當 HTTP 回應狀態碼指出成功時,才會傳送 HTTP 回應訊息的主體。反之 (一旦發生錯誤) 便不會傳送任何主體,且 URLRequest 物件將傳送 IOError 事件。
  • 若為 SWF 10 內容,「一律」會傳送 HTTP 回應訊息的主體。一旦發生錯誤,URLRequest 物件將傳送 IOError 事件。

參數

request:URLRequest — 指定要下載之 URL 的 URLRequest 物件。 如果這個參數的值或傳遞之 URLRequest 物件的 URLRequest.url 屬性為 null,應用程式就會擲出 null 指標錯誤。


事件
complete:Event — 會在順利載入資料之後傳送。如果有 httpResponseStatus 事件偵聽程式,URLRequest 物件也會傳送 complete 事件,無論 HTTP 回應狀態碼指出成功或失敗都是如此。
 
httpStatus:HTTPStatusEvent — 如果是透過 HTTP 存取,而且目前的環境支援取得狀態碼,則除了任何 completeerror 事件以外,您還可以收到這些事件。
 
httpResponseStatus:HTTPStatusEvent — 當 load() 方法呼叫嘗試透過 HTTP 存取資料,而且 Adobe AIR 能夠偵測並傳回要求的狀態碼時傳送。
 
ioError:IOErrorEvent — 無法完成載入作業。
 
open:Event — 在載入作業開始時傳送。
 
securityError:SecurityErrorEvent — 載入作業嘗試從呼叫者之安全執行程序以外的伺服器擷取資料。 您可以使用伺服器上的原則檔來解決此問題。

擲回值
ArgumentError URLRequest.requestHeader 物件可能不會包含特定禁止的 HTTP 要求檔頭。 如需詳細資訊,請參閱 URLRequestHeader 類別的說明。
 
MemoryError — 這項錯誤可能會因為下列原因而發生:
  1. Flash Player 或 Adobe AIR 無法將 URLRequest.data 參數從 UTF8 轉換成 MBCS。如果傳遞給 load() 的 URLRequest 物件設定為執行 GET 作業,而且 System.useCodePage 設定為 true,就會發生這項錯誤。
  2. Flash Player 或 Adobe AIR 無法分配 POST 資料的記憶體。如果傳遞給 load 的 URLRequest 物件設定為執行 POST 作業,就會發生這項錯誤。
 
SecurityError — 本機不受信任的 SWF 檔可能無法與網際網路進行通訊。您可以透過將此 SWF 檔重新分類為「具有網路連線的本機」或受信任,解決此問題。
 
SecurityError — 您正嘗試連線到常用的保留連接埠。完整的封鎖連接埠清單,請參閱在「ActionScript 3.0 開發人員指南」中的「限制網路 API」




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。