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

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

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

 

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

后台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. base64_to_png("".$_POST['png'], "image/". $_POST["name"] . ".png"); 
  8.  
  9. print"info=ok!!"; 
  10. ?> 

热门文章推荐

请稍候...

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

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