今天弄flex上传图片到java,现在弄成功,中间也经常一点小波折,现记录一下。重点在java侧的实现。

flex侧:文件上载到在url参数中传递的URL。该URL必须是配置为接受上载的服务器脚本。Flash Player使用HTTP POST方法上载文件。处理上载的服务器脚本应收到包含下列元素的POST请求:

Content-Type,属于multipart/form-data

Content-Disposition,其name属性默认情况下设置为“Filedata”,filename属性设置为原始文件的名称

文件的二进制内容

java侧,用spring MVC实现,接收到图片,先存储到本地,然后上传到ftp,上代码:

@Controller

publicclassFlashControllerextendsBaseController{

// 限制文件的上传大小

privateintmaxPostSize =100*1024*1024;

publicstaticString imagePath =null;

publicstaticString imageCdnPath =null;

@SuppressWarnings("unchecked")

@RequestMapping("/uploadImage")

@ResponseBody

publicString uploadImage(HttpServletRequest request, HttpServletResponse response) {

try{

if(imagePath ==null) {

imagePath = Config.getConfig("message.image.path");

}

if(imageCdnPath ==null) {

imageCdnPath = Config.getConfig("message.image.cdn.dir");

}

} catch(IOException e) {

// TODO Auto-generated catch block

LoggerUtil.error("读取聊天图片的存储地址出错",e);

}

String productId = request.getParameter("productId");

if(StringUtils.isBlank(productId)) {

productId = "default";

}

LoggerUtil.debug("收到flash存储聊天图片的请求,productId:"+ productId);

LoggerUtil.outInInfo("收到flash存储聊天图片的请求,productId:"+ productId);

// We use the FileUpload package provided by Apache to process the request.

DiskFileItemFactory factory = newDiskFileItemFactory();

factory.setSizeThreshold(4096);

ServletFileUpload upload = newServletFileUpload(factory);

upload.setSizeMax(maxPostSize);

String fileName = null;

try{

request.setCharacterEncoding("UTF-8");

List fileItems = upload.parseRequest(request);

Iterator iter = fileItems.iterator();

while(iter.hasNext()) {

FileItem item = (FileItem) iter.next();

if(!item.isFormField()) {

fileName = item.getName();

//转换文件名

String fileType = fileName.substring(fileName.lastIndexOf("."));

fileName = ImageUtils.getCreateImageFileName("","","",fileType);

item.write(newFile(imagePath + fileName));

}

}

} catch(FileUploadException e) {

LoggerUtil.error("[在线客服]用户上传图片失败", e);

} catch(UnsupportedEncodingException e) {

// TODO Auto-generated catch block

LoggerUtil.error("[在线客服]用户上传图片失败", e);

} catch(IOException e) {

// TODO Auto-generated catch block

LoggerUtil.error("[在线客服]用户上传图片失败", e);

} catch(Exception e) {

// TODO Auto-generated catch block

LoggerUtil.error("[在线客服]用户上传图片失败", e);

}

//把图片上传到CDN

FTPUtils ftpUtils = newFTPUtils("config");

try{

booleanresult = ftpUtils.connect();

if(!result) {

LoggerUtil.alarmInfo("连接FTP服务器失败");

return"error";

}

} catch(IOException e1) {

// TODO Auto-generated catch block

LoggerUtil.error("连接FTP服务器失败", e1);

return"error";

}

String ftpName = imageCdnPath + productId + "/"+ DateUtil.formatDate(newDate(),"yyyyMM") +"/"+ fileName;

String srcImagePath = imagePath+fileName;

intuploadResult = Im4JavaUtils.uploadJPGImageByIm4Java(ftpUtils, srcImagePath, ftpName, ImageUtils.IMAGE_SIZE_TYPE_ORIG);

LoggerUtil.debug("上传结果:"+ uploadResult);

if(uploadResult != FTPUtils.UPLOADSTATUS_UPLOAD_FILE_SUCESS) {

return"error";

}

String result = ftpUtils.getFtpHttpUrl()+ productId + "/"+ DateUtil.formatDate(newDate(),"yyyyMM") +"/"+ fileName;

LoggerUtil.debug(result);

returnresult;

}

}

附上两个很好的参考网址:

http://www.adobe.com/devnet/flex/articles/file_upload.html

http://blog.csdn.net/duanjingyu/article/details/5539690

java flex 图片上传_flex上传图片到java服务器相关推荐

  1. 【报错笔记】在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录。

    在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录. 我使用UUID生成8级目录,在webapp下创建目录,将图片传进 ...

  2. Java实现图片上传到服务器

    Java实现图片上传到服务器 #这几天研究图片上传到服务器并回显到页面遇到了问题,在这里总结一下!希望对各位有用!!! 先上代码 jsp代码: <form id="myform&quo ...

  3. java的图片上传与前端展示实例(Servlet+Jsp)

    java的图片上传与前端展示实例(Servlet+Jsp) 内容前瞻 1.关于路径 2.前端图片上传与展示 3.后台获取并保存 环境 1.前端jsp 2.服务器tomcat 3.服务端servlet ...

  4. java 二进制图片上传_Spring MVC上传图片,Java二进制图片写入数据库,生成略缩图...

    背景描述:最近做到一个项目,有个商品登记功能.登记的信息包括:基本信息若干(文字信息):图片信息,要求将图片保存到数据表中的image字段(sql server 数据库) 步骤:1.将图片上传到服务器 ...

  5. java多图片上传json_[Java教程]SpringMVC框架五:图片上传与JSON交互

    [Java教程]SpringMVC框架五:图片上传与JSON交互 0 2018-08-07 22:00:42 在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包 ...

  6. java 微信图片上传_微信小程序图片上传java端以及前端实现

    小程序的图片上传与传统的图片上传方式有一些不一样 如果你有幸看到这篇文章,恭喜你,你可以完美解决了. 话不多说,前后端代码一并奉上: (基于springmvc ) @Controller @Reque ...

  7. java实现图片上传后裁剪,把白色背景变成透明图(电子印章)

    应用场景:企业在白纸上盖上印章,然后软件实现透明的电子印章,在后续业务流程中使用! A4纸-----------------------------------------处理后----------- ...

  8. Java做图片上传、文件上传、 批量上传、 Base64图片上传 。附上源码

    Java做文件上传.图片上传后台方法 利用Springboot快速搭建项目环境 项目源码已经上传到码云:https://gitee.com/jack_party/upload .喜欢的朋友可以支持一下 ...

  9. java实现图片上传至本地

    在工作中要求将图片上传至本地,如下代码将介绍如何将图片上传至本地 准备工作: 环境:eclipse4.5-x64,jdk1.7-x64,maven3 tomcat服务器配置图片上传映射: 上传至本地服 ...

最新文章

  1. Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)
  2. 以太坊智能合约Demo
  3. cdn加速怎么样刷新文件
  4. bs4 python解析html
  5. ABAP:下载服务器文件到本机
  6. st edmunds和emmanuel college
  7. 51nod 1278 相离的圆
  8. 盘点常用Java排序算法
  9. Javascript - ES6新语法概览
  10. 【C语言】输入一个字符串,统计其中的单词个数,将第一个单词的首字母改为大写,并输出改写后的字符串...
  11. xib文件的读取方法
  12. mysql select不走索引_避免写出不走索引的SQL, MySQL
  13. python下使用pymongo操作mongodb
  14. 一句代码错误,就要出差
  15. 台式计算机怎样时间同步,电脑时间同步,详细教您怎么让电脑时间和网络时间同步...
  16. Xtrareport 多栏报表
  17. 原创 | 假期必读:一文看尽2019-2020各大顶会GNN论文(附链接)
  18. 有关/mnt/asec /mnt/secure文件夹及app2sd原理
  19. 花匠(codevs 3289)题解
  20. 信息管理毕设新颖题目

热门文章

  1. ATS插件channel_stats源码分析解读
  2. 不能忽略的Nginx做web服务器的favicon.ico图像找不到问题
  3. ceph osd混合部署和普通部署
  4. Vue+element UI实现“回到顶部”按钮组件
  5. input样式和修改
  6. CentOS7.4-btrfs管理及使用
  7. winform解析json
  8. VirtualBox上Ubuntu 共享文件夹
  9. Address already in use: JVM_Bind错误的解决
  10. ubuntu系统下载编译android源码