FileReference 上传文件,java接收

1. 前台Flex:

protected function selectImgHandler(event:AppGlobalEvent):void
		{
			// TODO Auto-generated method stub
			_file = new FileReference();
			_file.browse([new FileFilter("Images (*.jpg, *.jpeg, *.bmp, *.png)", "*.jpg;*.jpeg;*.bmp;*.png")]);
			_urlRe = new URLRequest();
			_urlRe.url = UploadConfig.faceSearchSelectImg;	
			_urlRe.method = URLRequestMethod.POST;
			
			_file.addEventListener(Event.SELECT,fileReferenceSelectHandler);
			_file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadResultHanlder);
			_file.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
		}
		
		protected function ioErrorHandler(event:IOErrorEvent):void
		{
			// TODO Auto-generated method stub
			trace(event.toString());
		}
		
		/**
		 *选择图片后确认 
		 * @param event
		 * 
		 */		
		protected function fileReferenceSelectHandler(event:Event):void
		{
			// TODO Auto-generated method stub
			if(_file)
			{
				_file.addEventListener(Event.COMPLETE,fileReferenceCompleteHandler);
				_file.load();
			}
		}
		
		/**
		 *  上传图片到服务器 获取图片路径
		 * @param event
		 * 
		 */		
		protected function uploadResultHanlder(event:DataEvent):void
		{
			// TODO Auto-generated method stub
			trace(event);
		}
		
		/**
		 *预览上传图片 
		 * @param event
		 * 
		 */		
		protected function fileReferenceCompleteHandler(event:Event):void
		{
			// TODO Auto-generated method stub
			if(_file)
			{
				_file.removeEventListener(Event.COMPLETE,fileReferenceCompleteHandler);
				(this.view["img"] as SWFLoader).source={};
				(this.view["img"] as SWFLoader).source = _file.data;
				
				//_file = FileReference(event.target);
				_file.upload(_urlRe,"file");
			}
		}
2. 后台SpringMVC框架
@RequestMapping("singleFileUpload.do")
	@Produces(MIME.APPLICATION_JSON)
	@ResponseBody
	public Map<String, Object> singleFileUpload(HttpServletRequest request,HttpServletResponse response,@RequestParam("file")MultipartFile file ) {
		
		response.setContentType("text/html; charset=UTF-8;");
		
		Map<String, Object> result = new HashMap<String, Object>();
		try {
			response.reset();
			String rootPath = request.getParameter("rootPath");

			if (rootPath == null)
				rootPath = "";
			rootPath = rootPath.trim();
			if (rootPath.equals("")) {
				rootPath = request.getSession().getServletContext().getRealPath("");
			}
			
			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
			Date date = new Date();
			String dateStr = sdf.format(date);
			String path = ftpRootPath+"/"+dateStr+"/"+date.getHours()+"/"+UUID.randomUUID().toString()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
			boolean uploadsuccess = ftpHelper.uploadFile(path, file.getInputStream());
			if(uploadsuccess){
				result.put("status", UPLOAD_SUCCSSS);
				result.put("filePath", path);
			}else{
				result.put("status", UPLOAD_FAILURE);
				result.put("errorMessage", "上传失败");
			}
		} catch (Exception e1) {
			result.put("status", UPLOAD_FAILURE);
			result.put("errorMessage", "上传失败");
			e1.printStackTrace();
		}

		return result;
	}


传递参数时,如果用
@RequestParam("file")MultipartFile file
进行接收,则需注意前面的@RequestParam("file")进行注解,否则获取不到该file对象,可能报如下错误:
org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.web.multipart.MultipartFile]: Specified class is an interface  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值