1. 将流和图片的名字同时传到后台,需要对流进行base64编码,将byte数组转换成string,
在jsp页面进行转码,中文乱码用encodeURIComponent,编码,后台jsp用URLDecoder.decode转成utf-8,
js中文图片显示:realName=encodeURI(realName ).replace(new RegExp("%","gm"), "-");,程序中同样处理
2. felx页面
var bitmapData:BitmapData = new BitmapData(620,420);
var mat:Matrix=new Matrix();
mat.scale(620/Flow.flowDesignerArea.width,420/Flow.flowDesignerArea.height);
//mat.scale(620/Flow.flowDesignerArea.width,420/Flow.flowDesignerArea.height);
bitmapData.draw(Flow.flowDesignerArea,mat);
var bitmap : Bitmap = new Bitmap(bitmapData);
var jpg:JPEGEncoder = new JPEGEncoder();
var bitmapdata:BitmapData= new BitmapData(450,500);
var ba:ByteArray = jpg.encode(bitmapData); var service:HTTPService= new HTTPService();
service.url="http://localhost:8080/XX/MyJPG.jsp";
// service.resultFormat="xml";
//转换中文解码
service.method="POST";
var obj:Object= new Object();
obj.fileName= encodeURIComponent(fileName);
var data:String= ba.toString();
//对流进行解码
var base64:Base64Encoder = new Base64Encoder;
base64.encodeBytes(ba);
obj.data= base64.toString();
service.addEventListener(ResultEvent.RESULT,function (event:ResultEvent):void{
Alert.show("保存成功:"+event.result as String,"提示");
});
service.addEventListener(FaultEvent.FAULT,function (event:FaultEvent):void{
Alert.show("保存失败","提示");
});
service.send(obj);
3.jsp页面处理保存到服务器上的项目里
<%@ page language="java" import="sun.misc.BASE64Decoder,java.io.*,java.util.*" pageEncoding="utf-8"%>
<%
BASE64Decoder decoder = new sun.misc.BASE64Decoder();
String fileName=request.getParameter("fileName");
String dataString=request.getParameter("data");
System.out.print(fileName);
System.out.print(dataString);
InputStream inputStream = request.getInputStream();
if(fileName!=null){
byte [] bt=decoder.decodeBuffer(dataString);
for(int i=0;i<bt.length;i++)
{
if(bt[i]<0)
{ //调整异常数据
bt[i]+=256;
}
}
File dir = new File(application.getRealPath("/") + "FlowOAImage");
if (!dir.exists())
{
dir.mkdirs();
}//中文图片显示
System.out.println( application.getRealPath("/") + "FlowOAImage");
String path = dir.getAbsolutePath() + "/"
+ fileName.replaceAll("%", "-");
OutputStream fos= new FileOutputStream(new File(path+".jpg"),false);
fos.write(bt);
fos.flush();
fos.close();
fileName=java.net.URLDecoder.decode(fileName,"utf-8");
out.print(fileName+".jpg");
}else {
}
%>
分享到:
相关推荐
总结来说,这个过程涉及到Flex客户端使用Canvas捕获用户交互,将结果转换为BitmapData,编码为JPEG并上传到J2EE服务器。服务器端接收到数据后,将其保存为图片文件。这种机制在需要保存用户在画板上的操作或者实现...
默认地,Flex Builder 将会把生成的 Flash 文件放到 EmployeeMgmt-Server 项目的 web/EmployeeMgmt-Flex-debug 目录下。 一个 Flex Project 的目录结构如下: 图 5. Flex 工程的目录结构 用 Flex Builder 做出...
- **数据编码**:根据需要,可能需要对数据进行编码,如UTF-8,以确保正确地保存非ASCII字符。 3. **离线支持和AIR应用**: - Adobe AIR(Adobe Integrated Runtime)允许Flex应用运行在桌面环境中,拥有更广泛的...
同样,也可以将接收到的JSON字符串解析成ActionScript对象,方便在客户端进行处理。 这个下载的Flex_json包包含了处理JSON的类库文件,这些文件通常以`.as`的扩展名存在,它们定义了各种方法和属性,用于操作JSON...
在Flex中,我们使用`encodeURIComponent()`函数编码参数,这确保了在传递到服务器之前,参数值被正确地编码为UTF-8格式。 ### 事件监听和错误处理 `URLLoader`类提供了多种事件监听器,用于跟踪数据加载的不同阶段...
5. **显示或处理读取到的内容**:读取的文本内容现在存储在变量`content`中,可以根据需求进行进一步的处理,如显示在文本框中或者进行其他业务逻辑操作。 除了直接读取文件,Flex还可以结合服务器端处理文件。例如...
本文将详细介绍如何通过Flex与Java进行数据交换,包括Flex客户端的实现方式、Java后端的数据处理逻辑,以及两者之间的通信机制。 #### 二、Java Bean定义 Java Bean是一种遵循特定编码规范的Java类,它用于封装...
默认地,Flex Builder 将会把生成的 Flash 文件放到 EmployeeMgmt-Server 项目的 web/EmployeeMgmt-Flex-debug 目录下。 一个 Flex Project 的目录结构如下: 图 5. Flex 工程的目录结构 用 Flex Builder ...
在本主题中,我们将深入探讨如何使用Flex进行文件上传和下载,并解决过程中可能出现的中文乱码问题。 一、Flex文件上传 1. Flex组件:Flex中可以使用`FileReference`组件来实现文件上传。用户通过选择文件后,`...
Flex Socket通信是Adobe Flex应用程序与Java应用程序之间进行低级网络通信的一种方式。Flex是一种基于ActionScript的开源框架,主要用于创建富互联网应用(RIA),而Java则是一种广泛使用的多平台编程语言,尤其在...
在开发基于Flash、Flex或ActionScript 3 (AS3) 的应用程序时,有时我们需要与服务器进行交互,这可能涉及到访问包含中文字符的域名。然而,由于Unicode编码的问题,尝试访问这样的域名可能会导致流错误(Stream ...
我们将深入探讨关于FLEX的一系列常见问题及其解答,这些问题涵盖了FLEX与HTML的集成、系统资源访问、文件操作、数据类型处理、对象访问、界面元素控制、模块通信、编码格式、数据传输、多选功能、图表定制、图片缩放...
在ASP.NET后端,通常会接收由Flex前端发送的Base64编码的图片数据,解码后保存为实际的图像文件。ASP.NET提供了多种方式处理文件上传,比如`HttpPostedFile`类。你可能需要创建一个Web服务或API接口,接收来自Flex的...
在IT行业中,Flex是一种基于ActionScript 3的开源框架,用于构建富互联网应用程序...虽然这个过程涉及到一些编码工作,但有了这个工具,你可以在不依赖服务器端的情况下实现客户端直接导出,提高了应用的用户体验。
在Java与Flex技术进行交互的过程中,经常会遇到一些典型的问题,这些问题可能涉及到安全性、数据传输格式以及字符编码等方面。本文将详细探讨以下几个方面: 1. **安全域问题** 2. **粘包问题** 3. **中文问题** #...
Flex Socket与Java通讯是网络编程中的一个重要领域,它允许基于Adobe Flex的客户端应用程序与服务器端的Java应用进行数据交换。Flex是一种开源的、基于ActionScript的框架,常用于创建富互联网应用程序(RIAs)。而...
在处理数据交换时,特别是与服务器进行异步通信时,JSON(JavaScript Object Notation)格式因其轻量级和高效性而被广泛采用。Adobe官方提供的Flex解析Json的ActionScript包就是为了解决在Flex应用中解析和操作JSON...
9. **乱码问题**:当你遇到后台(例如JSP)传回Flex的数据出现乱码时,可能需要确保请求参数使用正确的编码,例如`request.getParameter("name").getBytes("ISO8859-1")`转成`utf-8`,或者设置`request.setCharacter...
在部署到Web服务器时,通常需要设置此选项以匹配实际的应用程序上下文路径。 #### 9. contributor name **选项:** `contributor` **描述:** 用于设置最终SWF文件中的元数据信息。这有助于追踪项目贡献者的信息。...
总结来说,"flex json解析包(corelib.swc)"提供了在Flex应用中处理JSON数据的核心工具,通过`JSON`和`JSONEncoder`类,开发者可以方便地进行JSON数据的解析、序列化以及自定义转换,从而实现与服务器之间的数据...