SWFUpload简单使用例子 Java版(JSP)

SWFUpload官方的例子都是PHP的,在这里提供一个Java版的最简单的使用例子,使用JSP页面完成所有操作。

 

实现上传,分为三步:

 

1、JavaScript设置SWFUpload部分(与官方例子类似):

 

  var upload;

  window.onload = function() {
	upload = new SWFUpload({

	// 处理文件上传的url
	upload_url: "${pageContext.request.contextPath}/swfupload/example.jsp?upload=1",	
	// 上传文件限制设置
	file_size_limit : "10240",	// 10MB
	file_types : "*.jpg;*.gif;*.png",	//此处也可以修改成你想限制的类型,比如:*.doc;*.wpd;*.pdf
	file_types_description : "Image Files",
	file_upload_limit : "0",
	file_queue_limit : "1",
	// 事件处理设置(所有的自定义处理方法都在handler.js文件里)
	file_dialog_start_handler : fileDialogStart,
	file_queued_handler : fileQueued,
	file_queue_error_handler : fileQueueError,
	file_dialog_complete_handler : fileDialogComplete,
	upload_start_handler : uploadStart,
	upload_progress_handler : uploadProgress,
	upload_error_handler : uploadError,
	upload_success_handler : uploadSuccess,
	upload_complete_handler : uploadComplete,
	// 按钮设置
	button_image_url : "swfupload/xpbutton.png",	// 按钮图标
	button_placeholder_id : "spanButtonPlaceholder",
	button_width: 61,
	button_height: 22,
	// swf设置
	flash_url : "swfupload/swfupload.swf",
	custom_settings : {
		progressTarget : "fsUploadProgress",
		cancelButtonId : "btnCancel"
	},
		// Debug 设置
		debug: false
	});
  }

 

2、页面显示部分:

 

<div class="flash" id="fsUploadProgress"></div>
<div style="padding-left: 5px;">
	 <span id="spanButtonPlaceholder"></span>
	 <input id="btnCancel" type="button" value="取消" οnclick="cancelQueue(upload);" 
disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" />
</div>

 

3、Java处理文件上传部分:

 

  String uploadSign = request.getParameter("upload");
  String rootPath = request.getParameter("rootPath");
  String path = request.getParameter("path");
  if(rootPath == null) rootPath = "";
  	rootPath = rootPath.trim();
  if(rootPath.equals("")){
	rootPath = application.getRealPath("/swfupload/files");
  }
  if(path == null) {
	path = rootPath;
  }else{
	path = new String(Base64.decodeBase64(path.getBytes()));
  }

  //上传操作
  if(null != uploadSign && !"".equals(uploadSign)){
	  FileItemFactory factory = new DiskFileItemFactory();
	  ServletFileUpload upload = new ServletFileUpload(factory);
	  //upload.setHeaderEncoding("UTF-8");
	  try{
		  List items = upload.parseRequest(request);
		  if(null != items){
			  Iterator itr = items.iterator();
			  while(itr.hasNext()){
				  FileItem item = (FileItem)itr.next();
				  if(item.isFormField()){
					  continue;
				  }else{
                                         //以当前精确到秒的日期为上传的文件的文件名
					  SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddkkmmss");
					  String type = item.getName().split("\\.")[1];//获取文件类型
					  File savedFile = new File(path,sdf.format(new Date())+"."+type);
					  item.write(savedFile);
				  }
			  }
		  }
	  }catch(Exception e){
		  e.printStackTrace();
	  }
  }

 

OK,完成!

 

在这里上传个例子,方便使用学习。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值