GIFEncoder

// Imports the GIFEndocer class by Thibault Imbert.
// You can download it from ByteArray.org.
import org.gif.encoder.GIFEncoder;
 
var serverPath:String = "/";
 
// Initializes GIFEncoder
var myGIFEncoder:GIFEncoder = new GIFEncoder();
myGIFEncoder.setRepeat(0);
myGIFEncoder.setDelay (300);
 
// Initializes an URLLoader object to upload a file stream.
var ul:URLLoader = new URLLoader();
ul.addEventListener(Event.COMPLETE, saveDone);
 
var urh:URLRequestHeader = new URLRequestHeader("Accept","image/gif");
var BOUNDARY:String = "---------------------------7d76d1b56035e";
 
/**
 * Starts the gif encoding when clicks on the stage.
 */
stage.addEventListener(MouseEvent.CLICK, generateGIF);
function generateGIF(evt:MouseEvent):void{
 
	// Starts the gif encoder.
	myGIFEncoder.start();
 
	// Add frame.
	var bd:BitmapData = new BitmapData(100, 100, false, Math.round(0xFFFFFF*Math.random()));
	myGIFEncoder.addFrame(bd);
 
	// Finishes the gif encoder.
	myGIFEncoder.finish();
 
	// Starts the upload process.
	uploadGIF();
 
}// end generateGIF
 
/**
 * Generates a file stream and upload it.
 */
function uploadGIF():void{
 
	// Retrieves the file stream from the GIF Encoder.
	var myGIFStream:ByteArray = myGIFEncoder.stream;
	var filename:String = "test.gif";
 
	// Creates the file header.
	var formData:String  =  "--" + BOUNDARY + '\r\nContent-Disposition: form-data; name="Filedata"; filename="' + filename + '"\r\nContent-Type: application/octet-stream\r\n\r\n';
	var formData2:String = "\r\n";
	formData2 += "--" + BOUNDARY + '\r\nContent-Disposition: form-data; name="Filedata"\r\n\r\nSubmit Query\r\n';
	formData2 += "--" + BOUNDARY + '--';
 
 
	// Conbines the header and the file stream.
	var dataArray:ByteArray = new ByteArray();
	dataArray.writeMultiByte(formData,"ascii");
	for(var k:uint=0; k<myGIFStream.length; k++){
		dataArray.writeByte(myGIFStream[k]);
	}	
	dataArray.writeMultiByte(formData2,"ascii");
 
	// Initializes an URLRequest object
	var ur:URLRequest = new URLRequest();
	ur.requestHeaders.push(urh);
	ur.method = URLRequestMethod.POST;
	ur.contentType = "multipart/form-data; boundary=" + BOUNDARY;
	ur.url = serverPath + "test/uploadok.php";
	ur.data = dataArray;
 
	ul.load(ur);
 
}// end uploadGIF
 
/**
 * Executes when a file upload is finished.
 */
function saveDone(evt:Event):void{
	var str:String = evt.target.data;
	trace(str);
}// end saveDone
 

你可能感兴趣的:(PHP)