原文地址请点此处 最好之处在于,这个代码的超链接,我就是用这个鼓捣出来滴,下载地址
SWFUpload官方的例子都是PHP的,在这里提供一个Java版的最简单的使用例子,使用JSP页面完成所有操作。
效果图如下
实现上传,分为三步:
1、JavaScript设置SWFUpload部分(与官方例子类似):
<span style="font-family:KaiTi_GB2312;font-size:14px;">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 }); } </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;"><div class="flash" id="fsuploadProgress"></div> <div style="padding-left: 5px;"> <span id="spanButtonPlaceholder"></span> <input id="btnCancel" type="button" value="取消" onclick="cancelQueue(upload);" disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" /> </div></span>
3、Java处理文件上传部分:
<span style="font-family:KaiTi_GB2312;font-size:14px;">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(); } } </span>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。