您的位置:首页 > 编程语言 > Java开发

4、 Flex中Image控件相关之Java+Flex项目中ByteArray传到服务器端(java端)持久化(文件上传)...

2012-04-20 14:33 162 查看

Flex中Image控件相关之Java+Flex项目中ByteArray传到服务器端(java端)持久化(文件上传)<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600"
creationComplete="createHandler()"
>

<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.utils.Base64Encoder;

private function createHandler():void{
fileRefer.addEventListener(Event.SELECT,selectHandler);	//选择文件
fileRefer.addEventListener(Event.COMPLETE,completeHandler);//加载完成
}

private function selectHandler(event:Event):void{
if(fileRefer){
fileRefer.load();
}
}

private function completeHandler(event:Event):void{
if(fileRefer){
mySource.source = fileRefer.data;
}
}

private var fileRefer:FileReference = new FileReference();
protected function sourceFile_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
fileRefer.browse([new FileFilter("Images(*.jpg;*.gif;*.png)","*.jpg;*.gif;*.png")]);
}

protected function btn_canvertToImage_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
if(fileRefer.data){
destSource.source = fileRefer.data;
}
}

private var urlRequest:URLRequest = new URLRequest("http://localhost:9080/ByteArrayApp/persistence");
protected function btn_persistence_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
urlRequest.data = fileRefer.data;
urlRequest.contentType = "application/octet-stream";
urlRequest.method = URLRequestMethod.POST;

var urlloader:URLLoader = new URLLoader();
urlloader.dataFormat = URLLoaderDataFormat.BINARY;
urlloader.addEventListener(Event.COMPLETE,completePersistenceHandler);
urlloader.load(urlRequest);
}

private function completePersistenceHandler(event:Event):void{
Alert.show("持久化成功","恭喜");
}
]]>
</fx:Script>

<fx:Declarations>
</fx:Declarations>
<s:BorderContainer id="sourceFileContainer" x="8" y="30" borderColor="#1F7888" click="sourceFile_clickHandler(event)">
<s:Image id="mySource" x="0" y="-4" width="130" height="127"/>
</s:BorderContainer>
<s:Button id="btn_canvertToImage" x="158" y="93" width="52" height="18" label="==&gt;" chromeColor="#1F7888"
color="#FEFDFD" click="btn_canvertToImage_clickHandler(event)"/>

<s:BorderContainer id="destSourceContainer" x="224" y="35" borderColor="#1F7888">
<s:Image id="destSource"  width="130" height="127"/>
</s:BorderContainer>
<s:Button id="btn_persistence" x="372" y="90" label="==&gt;持久化到硬盘" chromeColor="#1F7888" click="btn_persistence_clickHandler(event)"/>
<s:Label x="34" y="167" width="75" height="17" text="点击选择图片"/>

</s:Application>

 package com.lmx.servlet;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class PersistenceServlet
*/
@WebServlet("/persistence")
public class PersistenceServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public PersistenceServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("============BEGIN===================");

ServletInputStream servletInputStream = request.getInputStream();

int len = request.getContentLength();

byte buffer[] = new byte[len];

int readlen=0;

FileOutputStream fos = new FileOutputStream(new File("c:/jun.jpg"));
while((readlen=servletInputStream.read(buffer))!=-1){
fos.write(buffer, 0, readlen);
}
fos.flush();
fos.close();
servletInputStream.close();
System.out.println("============END===================");
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: