MiniFileUpload.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="200" height="20" creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.charts.CategoryAxis;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import net.ask123.ecommerce.util.DateUtils;
import net.ask123.ecommerce.util.StringUtils;
import spark.formatters.DateTimeFormatter;
private var _refUploadFile:FileReference;
//...文件类型限制 调用时传入
public var fileFilters:Array;
//...文件夹地址 调用时传入
public var filePath:String;
//...文件地址
public var text:String;
//...服务器端需要
private var fileName:String;
private function addFiles():void {
if(fileFilters != null){
_refUploadFile.browse(fileFilters);
}else{
_refUploadFile.browse();
}
}
private function getFileName():String {
return DateUtils.nowDateShort("yyyyMMddHH")+StringUtils.randRange(1000,9999);
}
private function onSelectFile(event:Event):void {
try{
var params:URLVariables = new URLVariables();
params.name = fileName = getFileName();
params.filePath = filePath;
params.action = "/fileUpload.shtml";
var request:URLRequest = new URLRequest("/fileUpload.shtml");
request.method = URLRequestMethod.POST;
request.data = params;
_refUploadFile.upload(request,"fileData");
}catch(e:Error){
Alert.show("出现异常");
}
}
protected function init(event:FlexEvent):void
{
fileAddressID.text=text;
_refUploadFile=new FileReference();
_refUploadFile.addEventListener(Event.SELECT, onSelectFile);
_refUploadFile.addEventListener(Event.COMPLETE, hsResultHandler);
_refUploadFile.addEventListener(IOErrorEvent.IO_ERROR, onUploadIoError);
}
private function hsResultHandler(event:Object):void{
fileAddressID.text = "/upload/"+filePath+"/"+DateUtils.nowDateShort("yyyy")+"/"+
DateUtils.nowDateShort("MM")+"/"+fileName+"."+_refUploadFile.name.split(".")[1];
text = fileAddressID.text;
}
private function hsFaultHandler(e:FaultEvent):void{
Alert.show(e.fault.toString(),'http请求错误');
}
private function onUploadIoError(event:IOErrorEvent):void {
Alert.show(event.text);
}
]]>
</fx:Script>
<s:HGroup verticalAlign="middle">
<s:Button id="btnAdd" width="80" label="选择文件" click="addFiles()" />
<s:Label id="fileAddressID" verticalAlign="middle" click="navigateToURL(new URLRequest(fileAddressID.text), '_blank')"
/>
</s:HGroup>
</s:Group>
FileUploadController.java
/**
* 公用上传Action
* UploadFile.name 文件名,从前台传人
* UploadFile.filePath 路径,从前台传人 ad为存放广告的文件夹 news为存放新闻的文件夹
* 上传之后的路径地址为 /upload/UploadFile.filePath/今年(2012)/当月(02)/UploadFile.name
*
*
* @param file
* @return
*/
@RequestMapping(value = "fileUpload.shtml")
@ResponseBody
public String processImageUpload(UploadFile file) {
try {
File uploadFile;
String path = Constants.FILEUPLOADADDRESS + "/"
+ file.getFilePath() + "/" + DateUtils.getUserDate("yyyy")
+ "/" + DateUtils.getUserDate("MM");
FileUtils.makehome(path);
uploadFile = new File(path + "/" + file.getName() + "."
+ file.getFileData().getOriginalFilename().split("\\.")[1]);
file.getFileData().getFileItem().write(uploadFile);
} catch (Exception e) {
e.printStackTrace();
}
return "{" + file.getFileData().getOriginalFilename() + "}!Success!";
}
剩下的一些XML配置
applicationContent.xml
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- set the max upload size100MB -->
<property name="maxUploadSize">
<value>104857600</value>
</property>
<property name="maxInMemorySize">
<value>4096</value>
</property>
</bean>
调用的页面
public var imageTypes:FileFilter = new FileFilter("图片 (*.jpg, *.jpeg, *.gif,*.png)", "*.jpg; *.jpeg; *.gif; *.png");
<mx:FormItem label="图片" required="true">
<components:MiniFileUpload id="fileUploadID" filePath="ad" text="{_adP.image_url}" fileFilters="{new Array(imageTypes)}" />
</mx:FormItem>
分享到:
相关推荐
本文将详细介绍如何使用Flex的HttpService组件向SpringMVC应用发送XML数据,并进行交互。 一、Flex中的HttpService组件 1. 创建HttpService:在Flex项目中,通过MXML或ActionScript可以创建HttpService实例。设置...
4. **编写Flex客户端代码**:在Flex界面中,使用HTTPService或RemoteObject组件调用服务接口,处理响应数据并更新视图。 5. **测试与调试**:发布Flex应用,通过浏览器或Flex测试工具与Spring MVC服务进行交互,...
SpringMVC与Flex整合是构建富互联网应用程序(RIA)的一种常见技术组合,它允许开发者创建交互性强、用户体验良好的Web应用。下面将详细讲解这个项目的背景、核心概念以及整合过程。 **1. SpringMVC框架** ...
3. **WEB项目集成Flex功能**:Web项目中嵌入Flex组件,这是本文所介绍的方法,即在现有的Web应用基础上添加Flex功能。 为了实现这一集成,首先需要确保开发环境准备妥当,包括安装MyEclipse 7.5、Flex Builder 4 ...
Flex的优势在于它提供了一个丰富的组件库,使得开发者可以轻松创建动态、响应式的用户界面,支持跨平台运行。 Spring框架是Java企业级应用开发的核心工具,它强调的是简化开发、依赖注入和面向切面编程。Spring提供...
4. **Flex客户端开发**:在Flex项目中,使用`RemoteObject`或`WebService`组件来调用后端的服务。`RemoteObject`更适用于AMF通信,而`WebService`则用于SOAP WebServices。通过这些组件,Flex可以方便地调用Spring中...
Flex 是 Adobe 推出的一款用于构建富互联网应用程序(RIA)的开发框架,主要基于 ActionScript 和 MXML,提供了丰富的图形用户界面组件库,使得开发者能够创建出交互性强、视觉效果优秀的Web应用。 Hibernate 是一...
本项目“flex与struts2与hibernate与spring集成实例项目”就是一个典型的案例,它整合了四个关键的技术:Flex前端展示、Struts2作为MVC框架、Hibernate作为持久层框架以及Spring作为依赖注入和整体应用管理框架。...
BlazeDS、Spring 和 SpringMVC 是三个在Java Web开发中至关重要的技术组件。BlazeDS 是一个开源的服务器端技术,主要用于实现Flex和Ajax应用与后端服务器的数据交互,支持AMF(Action Message Format)协议,提供低...
- **自定义组件** 允许开发者扩展 Flex 的功能,通过创建新的组件来满足特定需求。 - 创建自定义组件涉及定义新的 MXML 类,并实现必要的功能。 - 这种能力极大地增强了 Flex 的灵活性。 ### 9. 页面跳转与路由 - ...
Flex和Laszlo:新的显示层技术,支持富客户端应用,是目前的较前沿的显示技术。 EJB :EJB的全称是Enterprise JavaBeans,是Java中的商业应用组件技术。 Java Web开发周边技术: HTML、Javascript、CSS、XML、...
4. **工作建议**: 叶建红在本周没有遇到理解上的问题,这表明他在学习过程中可能已经有效地解决了疑惑,或者对所学内容有深入的理解。他的工作建议未在报告中具体说明,但通常会包含对改进工作效率、解决问题或...
- 展示层:面向B/S架构,采用JSP、JS、AJAX和Flex等技术,向用户展现信息并执行命令。 - 控制层:转发、调度展示层请求,进行基础验证,并自动拦截后台异常。 - 领域层:处理系统业务逻辑,包括业务服务和领域...
*掌握DIV+CSS布局,使用rem基础布局、弹性盒模型(flex)进行移动端布局*:这句话表明该前端开发工程师具有HTML和CSS基础知识,能够使用DIV和CSS进行布局,了解rem基础布局和flex箱模型的使用。 二、JavaScript基础...
- **展示层**:主要包括JSP、JS和各类界面控件,采用AJAX和Flex等RIA技术提升用户体验。 - **控制层**:处理展示层请求的转发、调度以及基础验证,自动拦截并处理后台运行时异常。 - **领域层**:负责处理业务逻辑,...
1. **J2EE平台**:这是一个用于开发和部署企业级应用的Java平台,包含了Java Servlet、JavaServer Pages (JSP)、JavaBean、EJB(Enterprise JavaBeans)等多种组件和技术。 2. **MVC设计模式**:Model-View-...