簡體   English   中英

使用PHP的Flash As3未檢測到文件上傳錯誤

[英]File upload error not detected by flash as3 with php

ActionScript 3具有使用php上傳文件的復雜方法。 一個常見的錯誤(對我而言)是錯誤的url,因此php無法分配該文件。 由於我按照Adobe建議的腳本放置了所有這些事件,因此應該會產生錯誤。 它觸發了COMPLETE事件,所以我的想法是從php傳遞一些返回信息,並編寫一個JSON。 當我執行URLLoader + URLRequest時,它工作正常:該事件通過.target.data屬性返回php的答案,但是使用URLRequest創建fileReference.upload方法,則該屬性返回null!

那就是我正在使用的事件:

_fileReference.addEventListener(Event.CANCEL, canceledHandler);
_fileReference.addEventListener(ProgressEvent.PROGRESS,progressHandler);
_fileReference.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
_fileReference.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityHandler);
_fileReference.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpHandler);
_fileReference.addEventListener(Event.COMPLETE, completeHandler);

我需要觸發錯誤事件或從php獲取答案的方法,否則,我就處於黑暗之中!

首先,AS3沒有任何特定於php的功能-是的,它在上傳文件和HTTP協議方面非常有能力。

如果將數據發布到錯誤的URL,則超出了AS3的范圍-引發COMPLETE事件,因為它設法將數據發布到您指定的URL中……無論URL是否正確。

您可能應該使用的是HTTPStatusEvent 文檔說:“當上傳失敗並且HTTP狀態代碼可用於描述失敗時分派”。 我在您的代碼中看到您已經在監聽該事件,事件處理程序(httpHandler)中有什么代碼? 嘗試在事件觸發時追蹤結果,希望(盡管我不確定)該事件應該表明您已將其發布到錯誤的URL。 event.status屬性應該使您對發生的事情有個好主意。 有關有效狀態代碼的列表,請參見此處

trace("status: " + event.status);

暫無
暫無

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

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