flash as3 抓取圖片進行jpg編碼壓縮成jpg的ByteArray格式的位元據流發送到php

來源:互聯網
上載者:User

As代碼: 

package<br />{<br />import flash.display.Bitmap;<br />import flash.display.BitmapData;<br />import flash.display.MovieClip;<br />import com.adobe.images.JPGEncoder;<br />import flash.events.IOErrorEvent;<br />import flash.events.ProgressEvent;<br />import flash.net.URLLoader;<br />import flash.net.URLRequest;<br />import flash.net.URLRequestHeader;<br />import flash.utils.ByteArray;<br />import flash.net.navigateToURL;<br />import flash.net.URLRequestMethod;<br />import flash.events.Event;<br />/**<br /> * ...<br /> * @author ...http://www.dream798.com<br /> */</p><p>public class ImageEditor extends MovieClip<br />{<br />private var mybitmap:Bitmap;<br />private var mybitmapdata:BitmapData;<br />private var myjpgencoder:JPGEncoder;<br />private var myjpgstream:ByteArray;<br />public function ImageEditor () {<br />mybitmapdata = new BitmapData(400, 400, true, 0xffffff);<br />mybitmapdata.draw(con);<br />myjpgencoder = new JPGEncoder(80);<br />myjpgstream = myjpgencoder.encode(mybitmapdata);<br />myjpgstream.compress();</p><p>var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");<br />var jpgURLRequest:URLRequest = new URLRequest("http://www.dream798.com/***.php");<br />jpgURLRequest.requestHeaders.push(header);<br />jpgURLRequest.method = URLRequestMethod.POST;<br />jpgURLRequest.data = myjpgstream;<br />//推送圖片資料到伺服器端</p><p>//navigateToURL(jpgURLRequest, "_blank");</p><p>//var loader:URLLoader = new URLLoader();<br />var loader:URLLoader = new URLLoader();<br />loader.addEventListener(Event.COMPLETE, completeHandler);<br />loader.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);<br />loader.addEventListener(ProgressEvent.PROGRESS,progressHandler);<br />loader.load(jpgURLRequest);</p><p>}<br />private function completeHandler(e:Event) {<br />trace("completeHandler: "+e.target.data)<br />}<br />private function errorHandler(e:IOErrorEvent) {<br />trace("errorHandler")<br />}<br />private function progressHandler(e:ProgressEvent) {<br />trace(int(e.bytesLoaded / e.bytesTotal * 100));<br />}<br />}</p><p>}

 php接收資料代碼:

<?php<br />$jpg = gzuncompress($GLOBALS["HTTP_RAW_POST_DATA"]);</p><p>$myfilename = date("YmdHis");<br />$path = "fuckyou/";<br />if (!file_exists($path.$myfilename.".jpg"))<br />{<br />$fo = fopen($path.$myfilename.".jpg","w");<br />if (!fwrite($fo, $jpg))<br />{<br />echo "0";<br />}<br />else<br />{<br />echo $myfilename.".jpg"." ".getenv("HTTP_REFERER");<br /> echo $agent;;<br />}<br />}<br />?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.