URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
来源:互联网 发布:java 文件读写权限 编辑:程序博客网 时间:2024/06/06 04:35
- package project.test {
- import flash.display.*;
- import flash.net.*;
- import flash.events.*;
- import flash.utils.ByteArray;
- import fl.controls.Button;
- import com.klstudio.images.JPGEncoder;
- public class Test12 extends Sprite{
- private var _base:Shape;
- private var _rnd_button:Button;
- private var _submit_button:Button;
- private static const UPLOAD_PAGE:String="http://localhost:8080/upload.jsp";
- public function Test12(){
- _base = new Shape();
- _base.x = _base.y = 5;
- addChild(_base);
- drawLine();
- _rnd_button = new Button();
- _rnd_button.label = "随机画图";
- _rnd_button.setSize(90,22);
- _rnd_button.move(5,205);
- _rnd_button.addEventListener(MouseEvent.CLICK,clickHandler);
- addChild(_rnd_button);
- _submit_button = new Button();
- _submit_button.label = "保存图片";
- _submit_button.setSize(90,22);
- _submit_button.move(105,205);
- _submit_button.addEventListener(MouseEvent.CLICK,clickHandler);
- addChild(_submit_button);
- }
- public function drawRndRect():void{
- _base.graphics.beginFill(getRndColor());
- var gWidth:uint = getRndInt();
- var gHeight:uint = getRndInt();
- var gX:uint = getRndInt(5,180-gWidth+5);
- var gY:uint = getRndInt(5,180-gHeight+5);
- _base.graphics.drawRect(gX,gY,gWidth,gHeight);
- }
- public function getRndInt(min:uint=10,max:uint=180):uint{
- return uint(Math.random()*(max-min))+min;
- }
- public function getRndColor():uint{
- var r:uint = getRndInt(10,220);
- var g:uint = getRndInt(10,220);
- var b:uint = getRndInt(10,220);
- var c:uint = (r << 16) + (g << 8) + b;
- return c;
- }
- public function drawLine():void{
- _base.graphics.beginFill(0x666666);
- _base.graphics.drawRect(0,0,190,190);
- _base.graphics.beginFill(0xFFFFFF);
- _base.graphics.drawRect(1,1,188,188);
- _base.graphics.endFill();
- }
- public function getBitmapData():BitmapData{
- var bmd:BitmapData = new BitmapData(_base.width,_base.height);
- bmd.draw(_base);
- return bmd;
- }
- public function submit():void{
- _rnd_button.enabled = false;
- _submit_button.enabled = false;
- var encoder:JPGEncoder = new JPGEncoder(80);
- var bytes:ByteArray = encoder.encode(getBitmapData());
- var request:URLRequest = new URLRequest(UPLOAD_PAGE);
- //data值就为图片编码数据ByteArray;
- request.data = bytes;
- request.method = URLRequestMethod.POST;
- //这个是关键,内容类型必须是下面文件流形式;
- request.contentType = "application/octet-stream";
- var loader:URLLoader = new URLLoader();
- loader.addEventListener(Event.COMPLETE, completeHandler);
- loader.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
- loader.load(request);
- }
- private function completeHandler(event:Event):void{
- trace("图片上传成功");
- _rnd_button.enabled = true;
- _submit_button.enabled = true;
- }
- private function errorHandler(event:IOErrorEvent):void{
- trace("图片上传失败");
- _rnd_button.enabled = true;
- _submit_button.enabled = true;
- }
- private function clickHandler(event:MouseEvent):void{
- switch(event.target){
- case _rnd_button:
- _base.graphics.clear();
- drawLine();
- drawRndRect();
- drawRndRect();
- drawRndRect();
- drawRndRect();
- break;
- case _submit_button:
- submit();
- break;
- }
- }
- }
- }
- package project.test {
- import flash.display.*;
- import flash.net.*;
- import flash.events.*;
- import flash.utils.ByteArray;
- import fl.controls.Button;
- import com.klstudio.images.JPGEncoder;
- public class Test12 extends Sprite{
- private var _base:Shape;
- private var _rnd_button:Button;
- private var _submit_button:Button;
- private static const UPLOAD_PAGE:String="http://localhost:8080/upload.jsp";
- public function Test12(){
- _base = new Shape();
- _base.x = _base.y = 5;
- addChild(_base);
- drawLine();
- _rnd_button = new Button();
- _rnd_button.label = "随机画图";
- _rnd_button.setSize(90,22);
- _rnd_button.move(5,205);
- _rnd_button.addEventListener(MouseEvent.CLICK,clickHandler);
- addChild(_rnd_button);
- _submit_button = new Button();
- _submit_button.label = "保存图片";
- _submit_button.setSize(90,22);
- _submit_button.move(105,205);
- _submit_button.addEventListener(MouseEvent.CLICK,clickHandler);
- addChild(_submit_button);
- }
- public function drawRndRect():void{
- _base.graphics.beginFill(getRndColor());
- var gWidth:uint = getRndInt();
- var gHeight:uint = getRndInt();
- var gX:uint = getRndInt(5,180-gWidth+5);
- var gY:uint = getRndInt(5,180-gHeight+5);
- _base.graphics.drawRect(gX,gY,gWidth,gHeight);
- }
- public function getRndInt(min:uint=10,max:uint=180):uint{
- return uint(Math.random()*(max-min))+min;
- }
- public function getRndColor():uint{
- var r:uint = getRndInt(10,220);
- var g:uint = getRndInt(10,220);
- var b:uint = getRndInt(10,220);
- var c:uint = (r << 16) + (g << 8) + b;
- return c;
- }
- public function drawLine():void{
- _base.graphics.beginFill(0x666666);
- _base.graphics.drawRect(0,0,190,190);
- _base.graphics.beginFill(0xFFFFFF);
- _base.graphics.drawRect(1,1,188,188);
- _base.graphics.endFill();
- }
- public function getBitmapData():BitmapData{
- var bmd:BitmapData = new BitmapData(_base.width,_base.height);
- bmd.draw(_base);
- return bmd;
- }
- public function submit():void{
- _rnd_button.enabled = false;
- _submit_button.enabled = false;
- var encoder:JPGEncoder = new JPGEncoder(80);
- var bytes:ByteArray = encoder.encode(getBitmapData());
- var request:URLRequest = new URLRequest(UPLOAD_PAGE);
- //data值就为图片编码数据ByteArray;
- request.data = bytes;
- request.method = URLRequestMethod.POST;
- //这个是关键,内容类型必须是下面文件流形式;
- request.contentType = "application/octet-stream";
- var loader:URLLoader = new URLLoader();
- loader.addEventListener(Event.COMPLETE, completeHandler);
- loader.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
- loader.load(request);
- }
- private function completeHandler(event:Event):void{
- trace("图片上传成功");
- _rnd_button.enabled = true;
- _submit_button.enabled = true;
- }
- private function errorHandler(event:IOErrorEvent):void{
- trace("图片上传失败");
- _rnd_button.enabled = true;
- _submit_button.enabled = true;
- }
- private function clickHandler(event:MouseEvent):void{
- switch(event.target){
- case _rnd_button:
- _base.graphics.clear();
- drawLine();
- drawRndRect();
- drawRndRect();
- drawRndRect();
- drawRndRect();
- break;
- case _submit_button:
- submit();
- break;
- }
- }
- }
- }
- <%@ page contentType="text/html; charset=utf-8" language="java"%>
- <%@ page import="java.util.*"%>
- <%@ page import="java.io.*"%>
- <%
- int v;
- String filePath = request.getRealPath(System.currentTimeMillis()+".jpg");
- BufferedInputStream inputStream = new BufferedInputStream(request.getInputStream());
- FileOutputStream outputStream = new FileOutputStream(new File(filePath));
- byte [] bytes = new byte[1024];
- while((v=inputStream.read(bytes))>0){
- outputStream.write(bytes,0,v);
- }
- outputStream.close();
- inputStream.close();
- %>
222222
- package project.test {
- import flash.display.*;
- import flash.net.*;
- import flash.events.*;
- import flash.utils.ByteArray;
- import fl.controls.Button;
- import com.klstudio.images.JPGEncoder;
- public class Test12 extends Sprite{
- private var _base:Shape;
- private var _rnd_button:Button;
- private var _submit_button:Button;
- private static const UPLOAD_PAGE:String="http://localhost:8080/upload.jsp";
- public function Test12(){
- _base = new Shape();
- _base.x = _base.y = 5;
- addChild(_base);
- drawLine();
- _rnd_button = new Button();
- _rnd_button.label = "随机画图";
- _rnd_button.setSize(90,22);
- _rnd_button.move(5,205);
- _rnd_button.addEventListener(MouseEvent.CLICK,clickHandler);
- addChild(_rnd_button);
- _submit_button = new Button();
- _submit_button.label = "保存图片";
- _submit_button.setSize(90,22);
- _submit_button.move(105,205);
- _submit_button.addEventListener(MouseEvent.CLICK,clickHandler);
- addChild(_submit_button);
- }
- public function drawRndRect():void{
- _base.graphics.beginFill(getRndColor());
- var gWidth:uint = getRndInt();
- var gHeight:uint = getRndInt();
- var gX:uint = getRndInt(5,180-gWidth+5);
- var gY:uint = getRndInt(5,180-gHeight+5);
- _base.graphics.drawRect(gX,gY,gWidth,gHeight);
- }
- public function getRndInt(min:uint=10,max:uint=180):uint{
- return uint(Math.random()*(max-min))+min;
- }
- public function getRndColor():uint{
- var r:uint = getRndInt(10,220);
- var g:uint = getRndInt(10,220);
- var b:uint = getRndInt(10,220);
- var c:uint = (r << 16) + (g << 8) + b;
- return c;
- }
- public function drawLine():void{
- _base.graphics.beginFill(0x666666);
- _base.graphics.drawRect(0,0,190,190);
- _base.graphics.beginFill(0xFFFFFF);
- _base.graphics.drawRect(1,1,188,188);
- _base.graphics.endFill();
- }
- public function getBitmapData():BitmapData{
- var bmd:BitmapData = new BitmapData(_base.width,_base.height);
- bmd.draw(_base);
- return bmd;
- }
- public function submit():void{
- _rnd_button.enabled = false;
- _submit_button.enabled = false;
- var encoder:JPGEncoder = new JPGEncoder(80);
- var bytes:ByteArray = encoder.encode(getBitmapData());
- var request:URLRequest = new URLRequest(UPLOAD_PAGE);
- //data值就为图片编码数据ByteArray;
- request.data = bytes;
- request.method = URLRequestMethod.POST;
- //这个是关键,内容类型必须是下面文件流形式;
- request.contentType = "application/octet-stream";
- var loader:URLLoader = new URLLoader();
- loader.addEventListener(Event.COMPLETE, completeHandler);
- loader.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
- loader.load(request);
- }
- private function completeHandler(event:Event):void{
- trace("图片上传成功");
- _rnd_button.enabled = true;
- _submit_button.enabled = true;
- }
- private function errorHandler(event:IOErrorEvent):void{
- trace("图片上传失败");
- _rnd_button.enabled = true;
- _submit_button.enabled = true;
- }
- private function clickHandler(event:MouseEvent):void{
- switch(event.target){
- case _rnd_button:
- _base.graphics.clear();
- drawLine();
- drawRndRect();
- drawRndRect();
- drawRndRect();
- drawRndRect();
- break;
- case _submit_button:
- submit();
- break;
- }
- }
- }
- }
- URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
- flex URLLoader和URLRequest浅析
- urlloader urlrequest安全沙箱冲突
- AS3使用URLRequest和URLLoader服务器交互
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原 .
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex与服务器交互之一(URLRequest +URLLoader应用)
- AS3 中使用 URLRequest 和 URLLoader 与服务器交互
- AS3 中使用URLRequest 和URLLoader 与服务器交互
- Flex与服务器交互之一(URLRequest +URLLoader应用)
- AS3中URLStream, URLLoader, Loader和URLRequest区别
- js特效(肤浅)分页
- TBODY 标签有什么作用 潇湘
- 文件删除操作
- FCKEditor文字编辑控件使用有感
- 删除表记录并把ID清零的SQL语句
- URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
- MyEclipse快捷键集中营
- 常用编解码介绍(网上的资料)
- TCP/IP 之TCP协议(1):概述和报文格式
- 在线人数统计,解决了关闭浏览器窗口,释放session的问题
- Ajax应用中session超时的解决方案
- 回归测试
- 关于Moss 2007的权限理解
- 超好的AJAX入门教程