flex bytearray java_Flex 与 Java 上传ByteArray图片数据

Flex 端的上传代码:

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

import com.zxt.basic.wfdesign.util.ChartExport;

import mx.controls.Alert;

public function exportImg():void{

var urlRequest:URLRequest = new URLRequest("http://localhost:8080/workflow14/saveImage.jsp");

urlRequest.data = transByteArray(myPanel);//需要上传的数据

urlRequest.contentType = "application/octet-stream";

urlRequest.method =  URLRequestMethod.POST;

var urlLoader:URLLoader = new URLLoader();

urlLoader.dataFormat = URLLoaderDataFormat.BINARY;

urlLoader.addEventListener(Event.COMPLETE,urlLoader_CompleteHandler);

urlLoader.load(urlRequest);

}

public function urlLoader_CompleteHandler(evt:Event):void{

Alert.show("保存成功!");

}

/**

* 返回图片的字节流

*/

public static function transByteArray(displayObject:DisplayObject):ByteArray{

file.addEventListener(Event.COMPLETE,uploadJpgSucc);

var bitmapData:BitmapData = new BitmapData(displayObject.width, displayObject.height);

bitmapData.draw(displayObject, new Matrix());

var jpg:JPEGEncoder = new JPEGEncoder();

var ba:ByteArray = jpg.encode(bitmapData);

return ba;

}

]]>

Java 端的接收代码:

String filePath = "c:/test.png";

InputStream inputStream = request.getInputStream();

FileOutputStream outputStream = new FileOutputStream(new File(filePath));

int formlength = request.getContentLength();

byte[] formcontent = new byte[formlength];

int totalread = 0;

int nowread = 0;

while (totalread < formlength) {

nowread = inputStream.read(formcontent, totalread, formlength);

totalread += nowread;

}

outputStream.write(formcontent);         outputStream.flush();         outputStream.close();         inputStream.close();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值