1

私はFlashとAS3にまったく慣れていません。私はグーグルでこのトピックについて何も見つけることができませんでした。

画像をphpファイルに投稿するコードがあります。

var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
    var jpgURLRequest:URLRequest = new URLRequest("http://127.0.0.1/gdipORG/takeImage.php");
    jpgURLRequest.requestHeaders.push(header);
    jpgURLRequest.method = URLRequestMethod.POST;
    jpgURLRequest.data = byteArray;
navigateToURL(jpgURLRequest, "blank");

問題は、実際の投稿を行うには、実際のURLに移動する必要があることです(コードの最後の行を参照)...

移動せずにURLにデータを投稿できるようにしたい。何か案は?

4

1 に答える 1

1

既存のコードの直後にURLLoaderを使用します。

//Existing code
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var jpgURLRequest:URLRequest = new URLRequest("http://127.0.0.1/gdipORG/takeImage.php");
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = byteArray;

//KILL THIS LINE navigateToURL(jpgURLRequest, "blank");

//Add these (UNTESTED CODE):

var sendJPGLoader:URLLoader = new URLLoader();
sendJPGLoader.dataFormat = URLLoaderDataFormat.BINARY;
sendJPGLoader.addEventListener(Event.COMPLETE, sendJPGToServerComplete);
sendJPGLoader.addEventListener(IOErrorEvent.IO_ERROR, sendJPGToServerIOError);

//Try to send image
sendJPGLoader.load(jpgURLRequest); 

function sendJPGToServerComplete(evt:Event):void {
  //Request was sent to server succesfully
  //Optionally check server response
  // var serverResponse:String = String(evt.target.data);
}

function sendJPGToServerIOError(evt:Event):void {
  //Failed
}

コードの上部にあるインポートを忘れないでください。

import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;

私はそれらすべてを手に入れたと思います:)

于 2012-06-06T20:04:59.997 に答える