Flash 二进制传图片到后台Java服务器接收

Flash到Java图片传输
本文介绍了一种使用Flash客户端将处理后的图片发送给Java Servlet服务器的方法。通过Flash端的Base类,图片被转换为字节数组并通过POST请求发送;Java端接收并保存该图片。
    • 需求:把客户端处理过的图片返还给服务器
      Flash端代码
      01 package {
      02     import com.adobe.images.JPGEncoder;    
      03     import flash.display.Sprite;
      04     import flash.events.Event;
      05     import flash.events.IOErrorEvent;
      06     import flash.net.URLLoader;
      07     import flash.net.URLRequest;
      08     import flash.net.URLRequestMethod;
      09     import flash.text.TextField;
      10     import flash.utils.ByteArray;    
      11     import mx.core.BitmapAsset;
      12 
      13    [SWC(width='400',height='400',backgroundColor='0x4c4c4c',frameRate='30')]
      14     public class Base extends Sprite
      15     { 
      16         [Embed(source="../1.jpg")]  // same png / gif files
      17         private var Photo:Class ;
      18         
      19         private var url:String ="http://localhost:8080/PicSample/aaa" ;
      20         private var _loader:URLLoader = newURLLoader();;
      21         private var reposeTxt:TextField;
      22         
      23         public function Base()
      24         {
      25             reposeTxt = new TextField();
      26             addChild(reposeTxt);
      27             reposeTxt.text = "waiting....";
      28             
      29             var photo:BitmapAsset = new Photo();
      30             var urlRequest:URLRequest = newURLRequest(url);
      31                         
      32             var JPG:JPGEncoder = new JPGEncoder(70);
      33             var bary:ByteArray =JPG.encode(photo.bitmapData);            
      34             urlRequest.data=bary;
      35             urlRequest.method=URLRequestMethod.POST;
      36             urlRequest.contentType ="application/octet-stream";
      37             _loader.addEventListener(Event.COMPLETE,completeHandler);
      38             _loader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
      39             _loader.load(urlRequest);
      40             
      41         }
      42         private functioncompleteHandler(evt:Event):void {
      43             reposeTxt.text = "成功";
      44         }
      45         private functionioErrorHandler(evt:IOErrorEvent):void {
      46             reposeTxt.text = "失败";
      47         }
      48     }
      49 }

       

      01 @Override
      02     protected void doPost(HttpServletRequest request,HttpServletResponse response)
      03             throws ServletException, IOException {
      04         
      05         ServletInputStream in =request.getInputStream();
      06         OutputStream outStream = newFileOutputStream("e:/m34.jpg");
      07         int b =0;
      08         while(b!= -1)
      09         {
      10             in.available();
      11             b = in.read();
      12             if(b!= -1)
      13                 outStream.write(b);
      14         }
      15         outStream.close();
      16     }

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值