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,后台用java. 上传图片时先裁剪,可预览,然后上传到服务器
Flex相册 Flex图片
在flex中显示服务器端的图片可以使用Image控件的source属性,但是这个条件必须是客户端可以访问到的有效的URL地址。如果图片存储在数据库中,直接使用source属性是无法显示图片的。这种情况下可以使用flex中的...
介绍了使用FLEX技术建立服务器关系图的步骤和方法
Adobe Flex 编码规范 AS ActionScipt Flash 中文 文档
Flex 与服务器端通信 demo 包括flex 源码 和c#服务器端源码
在引导安装操作系统之前,首先要配置raid,否则找不到硬盘(raid配置,详见R 690服务器raid配置部分),其次配置服务器ILO口IP地址(开机时按F9设置),通过ro more console登陆服务器界面如下: (R690服务器H3C...
flexBulider页面加载动态图片的显示
flex 图片浏览\放大\缩小,
MyEclipse + flex4.5结构,提供两种将前台组件保存为图片的方法。...1、将前台组件保存为图片上传到tomcat服务器 2、将前台flex组件保存为图片(客户端保存),弹出保存对话框,更改保存路径,图片名。
flex实现剪裁图片,可调整剪裁框的大小
flex 纵向图片特效展示 效果很炫 只是自己没能改成横向
Flex 图片上传 实例 源码Flex图片上传实例
FLEX 背景图片设置的方法,很实用的技巧
用flex开发的图片浏览效果。很酷 flex图片滚动效果 下载拷贝到flexbuilder中就可以用
发觉FLEX中Image组件载入图片后,虽然自动缩放了,但是是等比缩放的。比如图片是16:9的,Image设置的宽高是4:3的,它不会自动拉伸成4:3,而是上下留白依然16:9。这个问题VideoDisplay组件载入FLV也一样,都是等比...
FLEX流媒体服务器配置说明
flex工作流源码
这是一个flex客户端选择文件然后上传的例子,会java的人看了就明白了
flex实现图片另存为,不弹出选择窗体,直接保存到默认路径