2012-01-03 16 views
1

私はこれを行うことを理解していません。私は、ダウンロードパッケージにあるサンプルから始め、自分のニーズに合わせて編集しました。 PHPサーバのファイルスクリプトで拡張検証を行ったので、拡張がホワイトリストにない場合、スクリプトはエラーで終了します。 カスタムメッセージの仕方を知りません。swfuploadによるエラー処理

PHP関数

function HandleError($message) { 
    header("HTTP/1.1 500 Internal Server Error"); 
    echo $message; 
} 

しかし、このリターンのみ500の代わりに$メッセージのがあります!これは私がheader()機能をコメントアウトした場合、それはプログレスバー(イェーイ)でエラーを表示するが、successedのように扱うのjs uploadError()

function uploadError(file, errorCode, message) { 
try { 
    var progress = new FileProgress(file, this.customSettings.progressTarget); 
    progress.setError(); 
    progress.toggleCancel(false); 

    switch (errorCode) { 
    case SWFUpload.UPLOAD_ERROR.HTTP_ERROR: 
     progress.setStatus("Errore upload: " + message); 
     this.debug("Error Code: HTTP Error, File name: " + file.name + ", Message: " + message); 
     break; 
    case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED: 
     progress.setStatus("Upload fallito."); 
     this.debug("Error Code: Upload Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); 
     break; 
    case SWFUpload.UPLOAD_ERROR.IO_ERROR: 
     progress.setStatus("Errore Server (IO)"); 
     this.debug("Error Code: IO Error, File name: " + file.name + ", Message: " + message); 
     break; 
    case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR: 
     progress.setStatus("Errore Security"); 
     this.debug("Error Code: Security Error, File name: " + file.name + ", Message: " + message); 
     break; 
    case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED: 
     progress.setStatus("Limite upload superato."); 
     this.debug("Error Code: Upload Limit Exceeded, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); 
     break; 
    case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED: 
     progress.setStatus("File non valido. Upload ignorato."); 
     this.debug("Error Code: File Validation Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); 
     break; 
    case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED: 
     // If there aren't any files left (they were all cancelled) disable the cancel button 
     if (this.getStats().files_queued === 0) { 
      document.getElementById(this.customSettings.cancelButtonId).disabled = true; 
     } 
     progress.setStatus("Cancellato."); 
     progress.setCancelled(); 
     break; 
    case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED: 
     progress.setStatus("Sospeso."); 
     break; 
    default: 
     progress.setStatus("Errore non gestito: " + errorCode); 
     this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message); 
     break; 
    } 
} catch (ex) { 
    this.debug(ex); 
} 

あり、そしてそれは私がエラーでそれを処理することはありません。 header()を削除すると、uploadErrorの代わりにuploadSuccessに移動します。
ドキュメントは実際には醜いですが、私は他のものは見つけられません。

答えて

3

echo $messageの後にヘッダーを削除し、exit(0)を追加します。私はこれが問題を解決すると思います。