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>
分享到:
相关推荐
springmvc与Flex集成示例 springmvc为服务端 flex为客户端
springmvc上传文件controller,vue
springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式
springmvc上传文件所需jar包springmvc上传文件所需jar包 springmvc上传文件所需jar包
springmvc上传文件到ftp demo,将mmall.properties里面的ftp内容修改为自己的启动就行,建议使用idea
个人整理-SpringMVC上传文件的四种方法,汉jar包,含计时
Flex 使用HttpService组件发送XML数据与java交互 例子+文档
简化springMvc设置,实现上传,下载功能。
springmvc使用CommonsMultipartResolver进行文件上传所需的jar包,包含ssm框架的所需jar包
springmvc带进度条上传源码
SpringMvc上传本地图片保存数据库并实时显示
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的...
由于需要我们需要在项目里自己写文件的上传和下载。这里分别有基于SpringMVC的上传和基于SSH的上传下载,欢迎下载。
文件上传是项目开发中最常见的功能。为了能上传文件,必须将表单的method设置为POST,...在2003年,Apache Software Foundation发布了开源的Commons FileUpload组件,其很快成为Servlet/JSP程序员上传文件的最佳选择。
在上一篇SpringMVC基础教程的源码基础上增加了文件上传,多文件上传
SpringMVC上传图片文件到 阿里云,亲测可用。前端使用Ajax。
前面弄得我认得文档,现在发现csdn上面不能上传同样的格式,就直接把word文档上传,内容包含上传文件的各个部分,有详细注释,适合刚学springMVC的去观看
SpringMVC文件上传与下载的实现,包括UploadController和DownloadController
SpringMVC文件上传Demo代码
springMVC上传图片附件示例项目,多个图片上传,带选择图片后回显,带普通text类型文本域传值。有需要的尽管拿走。