·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3的php版上传图片并以Base64编码字符串提交代码示例

时间:2012-12-19 16:38cnblogs.com
[AS3]as3的php版上传图片并以Base64编码字符串提交代码示例,as3的base64,base64加密,Base64编码

 

  1. package 
  2. { 
  3. import com.adobe.images.JPGEncoder; 
  4. import com.adobe.images.PNGEncoder; 
  5. import com.hurlant.util.Base64; 
  6. import flash.display.Bitmap; 
  7. import flash.display.BitmapData; 
  8. import flash.display.Loader; 
  9. import flash.display.MovieClip; 
  10. import flash.display.Shape; 
  11. import flash.display.Sprite; 
  12. import flash.events.Event; 
  13. import fl.controls.Button; 
  14. import flash.events.MouseEvent; 
  15. import flash.filters.GlowFilter; 
  16. import flash.net.*; 
  17. import flash.filters.BitmapFilterQuality; 
  18. import flash.utils.ByteArray; 
  19.  
  20. /** 
  21. * ... 
  22. * @author ZhangYi 
  23. */ 
  24. publicclass Base64Test extends Sprite 
  25. { 
  26. private var _base:Shape; 
  27. private var _btn:Button; 
  28. private var _loader:Loader; 
  29.  
  30. public function Base64Test() 
  31. { 
  32. if (stage) init(); 
  33. else addEventListener(Event.ADDED_TO_STAGE, init); 
  34. } 
  35.  
  36. private function init(e:Event = null):void 
  37. { 
  38. removeEventListener(Event.ADDED_TO_STAGE, init); 
  39. // entry point 
  40.  
  41. inited(); 
  42. } 
  43.  
  44. private function inited():void { 
  45. var mc:MovieClip = new MovieClip(); 
  46. mc.graphics.beginFill(0x000000, 0.2); 
  47. mc.graphics.drawRect(0, 0, 320, 455); 
  48. mc.x = 30; 
  49. mc.y = 60; 
  50.  
  51. addChild(mc); 
  52.  
  53. _loader = new Loader(); 
  54. _loader.load(new URLRequest("../assets/1.png")); 
  55. mc.addChild(_loader); 
  56.  
  57. _loader.addEventListener(MouseEvent.ROLL_OVER, addFilterHandler); 
  58. _loader.addEventListener(MouseEvent.ROLL_OUT, removeFilterHandler); 
  59.  
  60. _btn = new Button(); 
  61. _btn.label = "截图"; 
  62. _btn.x = 30; 
  63. _btn.y = 30; 
  64. addChild(_btn); 
  65.  
  66. _btn.addEventListener(MouseEvent.CLICK, clickHandler); 
  67. } 
  68.  
  69. private function clickHandler(evt:MouseEvent):void { 
  70. addFilterHandler(); 
  71.  
  72. var bitmapData:BitmapData = new BitmapData(_loader.width, _loader.height, true, 0); 
  73. bitmapData.draw(_loader); 
  74.  
  75. var bytes:ByteArray = PNGEncoder.encode(bitmapData); 
  76. var pngString:String = Base64.encodeByteArray(bytes); 
  77.  
  78. var variables:URLVariables = new URLVariables(); 
  79. variables.png = pngString; 
  80. variables.name = "photo002"; 
  81.  
  82. var req:URLRequest = new URLRequest("http://Cuplayer.com/test/uploadFile/upload_2.php"); 
  83. req.data = variables; 
  84. req.method = URLRequestMethod.POST; 
  85.  
  86. var urlloader:URLLoader = new URLLoader(); 
  87. urlloader.dataFormat = URLLoaderDataFormat.VARIABLES; 
  88. urlloader.addEventListener(Event.COMPLETE, completeHandler); 
  89. urlloader.load(req); 
  90.  
  91. trace(pngString); 
  92. } 
  93.  
  94. private function completeHandler(evt:Event):void { 
  95. trace(evt.target.data); 
  96. } 
  97.  
  98. private function addFilterHandler(evt:MouseEvent=null):void { 
  99. var filtersArr:Array = new Array(); 
  100. filtersArr = _loader.filters; 
  101. filtersArr.push(getBitmapFilter()); 
  102. _loader.filters = filtersArr; 
  103. } 
  104.  
  105. private function removeFilterHandler(evt:MouseEvent):void { 
  106. _loader.filters = null; 
  107. } 
  108.  
  109. private function getBitmapFilter():GlowFilter { 
  110. var color:Number = 0xFF0000; 
  111. var alpha:Number = 1; 
  112. var blurX:Number = 5; 
  113. var blurY:Number = 5; 
  114. var strength:Number = 4; 
  115. var inner:Boolean = false; 
  116. var knockout:Boolean = false; 
  117. var quality:Number = BitmapFilterQuality.LOW; 
  118. returnnew GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout); 
  119. } 
  120. } 
  121. } 

后台php代码:

 

  1. <?php 
  2. function base64_to_png($inputfile, $outputfile ) { 
  3. $imageData = $inputfile; 
  4. $file = fopen( $outputfile, "w" ); 
  5. fwrite( $file, base64_decode( $imageData ) ); 
  6. fclose($file); 
  7. } 
  8. base64_to_png("".$_POST['png'], "image/". $_POST["name"] . ".png"); 
  9.  
  10. print"info=ok!!"; 
  11. ?> 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器