मैं एक एन्क्रिप्टेड प्राधिकरण कोड फ़ॉर्म जेपीजी छवि के साथ फ्लैश को PHP भेजना चाहता था। यह चर चर में पोस्ट करने के लिए उपयुक्त नहीं था और इसलिए मैं इस तरह से इसके आसपास मिल गया। अधिकांश कोड स्टेज स्नैपशॉट की वास्तविक सभा है, लेकिन इसका केवल एक विशिष्ट क्षेत्र है। जेपीबी छवि जानकारी के अंत तक एन्क्रिप्टेड पासवर्ड पर काम करने के लिए यहां लिखने वाला हिस्सा है मल्टीबीटाइट का उपयोग। मैं फिर चर चरम यूआरएल स्ट्रिंग का उपयोग करके इस पासवर्ड की लंबाई भेजता हूं ताकि PHP पता अंत को काटने के लिए बहुत कुछ दिखाए।
var stage_snapshot:BitmapData = new BitmapData(600, 120);
var myRectangle:Rectangle = new Rectangle(0, 0, 600, 120);
var myMatrix:Matrix = new Matrix();
var translateMatrix:Matrix = new Matrix();
translateMatrix.translate(-101, -33);
myMatrix.concat(translateMatrix);
stage_snapshot.draw(stage,myMatrix,null,null,myRectangle);
trace ("creating JPGEncoder");
// Setup the JPGEncoder, run the algorithm on the BitmapData, and retrieve the ByteArray
var encoded_jpg:JPGEncoder = new JPGEncoder(100);
var jpg_binary:ByteArray = new ByteArray();
jpg_binary = encoded_jpg.encode(stage_snapshot);
var pw = cryptoSalt.encrypt("mysecretpassword");
**var pwLength = pw.length;
jpg_binary.writeMultiByte(pw,"us-ascii");**
trace ("stage snapshot taken");
var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
var request:URLRequest = new URLRequest("savejpg.php?length1=" + pwLength);
request.requestHeaders.push(header);
request.method = URLRequestMethod.POST;
request.data = jpg_binary;
var loader:URLLoader = new URLLoader();
trace ("sending pic to php");
loader.load(request);
loader.addEventListener(Event.COMPLETE,finishSave);
प्राप्त पीएचपी:
$pwlength = $_GET['length1'];
$jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
$pw = substr($jpg, - $pwlength);
$jpg = substr($jpg,0,strlen($jpg) - $pwlength);
$filename = 'uploads/test.jpg';
file_put_contents($filename, $jpg);
file_put_contents("uploads/pw.txt",$pw);
धन्यवाद! ... मैंने कभी फ्लेक्स का उपयोग नहीं किया। मै कोशिश करूँगा। –