用flex发送图片数据至服务器
来源:互联网 发布:json接口测试工具 编辑:程序博客网 时间:2024/05/17 15:05
我们知道Flex对于本地的限制比AIR要大,当我们想保存一个由Flex生成的文件必须借由服务器来完成,现在有一个需求就是,用户想保存Flex生成的图片在本地,我们要完成这个过程,必须先将Flex生成的图片转换为通用的数据格式,即ByteArray,然后由后台程序帮助写文件,形式上类似先上传,再下载,只不过中间不用保存实际的物理文件。
好了废话这么多把代码贴上来吧
Flex端
[复制到剪贴板]
CODE:
:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.graphics.codec.JPEGEncoder;
import mx.graphics.ImageSnapshot;
private function saveAs(){
var en:JPEGEncoder = new JPEGEncoder(100); //压缩图片,100是指质量
var ba:ByteArray=en.encode(ImageSnapshot.captureBitmapData(img));//将控件转为BitmapData后再转为ByteArray
var request:URLRequest = new URLRequest("/TestForLCDS/servlet/UploadServlet");
request.method="POST";
request.data=ba;
request.contentType = "application/octet-stream"; //这个很重要,设置成流数据
navigateToURL(request,"_blank"); //因为要浏览器触发下载事件,所以就不用异步方式打开连接了
}
]]>
</mx:Script>
<mx:Button x="228" y="10" label="另存为本地图片" click="saveAs()"/>
<mx:Image id="img" x="10" y="10" source="img.jpg" width="200" height="200" scaleContent="false"/>
</mx:Application>
后台Java servlet
[复制到剪贴板]
CODE:
:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/x-download"); //内容是下载
response.setHeader("Content-Disposition","attachment;filename=" + "test.jpg");//文件名,可以进一步处理
//读数据
BufferedInputStream inputStream = new BufferedInputStream(request.getInputStream());
OutputStream outputStream = response.getOutputStream();
byte [] bytes = new byte[1024];
int v;
//写数据
while((v=inputStream.read(bytes))>0){
outputStream.write(bytes,0,v);
}
outputStream.flush();
outputStream.close();
inputStream.close();
}
}
- 用flex发送图片数据至服务器
- FLEX/AIR发送Http请求Web服务器并取得数据。
- FLEX/AIR发送Http请求Web服务器并取得数据。
- flex 获取并发送发送图片
- 发送图片到服务器
- android客户端发送XML数据至服务器
- 用Javascript向服务器发送数据
- 向服务器发送数据
- 发送数据到服务器
- iPhone发送图片到服务器
- Android-向服务器发送图片
- Android 图片发送到服务器
- 从flex中传过来的byteArray数据怎样让Java服务器转成图片保存下来
- Flex截图并向PHP发送数据
- 发送XML数据到服务器
- 发送xml数据给服务器
- 给服务器发送JSON数据
- 发送JSON数据给服务器
- javascript 事件模型
- STL 简介
- CommandBehavior.CloseConnection的使用
- 非服务器控件网站要目录的识别
- Mongoose源码剖析:数据结构篇
- 用flex发送图片数据至服务器
- Mongoose源码剖析:mongoose的工作模型
- JSP核心标签库
- js中的小技巧
- 使用BackgroundWorker组件进行异步操作编程
- 优先级翻转
- 关于科学家首次捕获脑细胞在刺激反应下产生的图像的问题
- Javascript操作Cookie
- 魔兽世界编程宝典读书笔记(1)