其实 swfupload 就是一个前端上传控件,和后端没什么联系,唯一的联系就是 提交url 和 servlet 返回200,告诉你上传成功了
jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <link href="css/swfupload.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/SWFUpload/swfupload.js"></script> <script type="text/javascript" src="js/SWFUpload/swfupload.queue.js"></script> <script type="text/javascript" src="js/SWFUpload/fileprogress.js"></script> <script type="text/javascript" src="js/SWFUpload/handlers.js"></script> <script type="text/javascript"> var swfu; window.onload = function() { var settings = { flash_url : "js/SWFUpload/swfupload.swf", upload_url: "upload.do", file_size_limit : "200 MB", file_types : "*.csv", file_types_description : "All Files", file_upload_limit : 100, file_queue_limit : 0, custom_settings : { progressTarget : "fsUploadProgress", cancelButtonId : "btnCancel" }, debug: false, // Button settings button_image_url: "images/TestImageNoText_65x29.png", button_width: "135", button_height: "29", button_placeholder_id: "spanButtonPlaceHolder", button_text: '<span class="theFont">Files</span>', button_text_style: ".theFont { font-size: 16; }", button_text_left_padding: 12, button_text_top_padding: 3, // The event handler functions are defined in handlers.js 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, queue_complete_handler : queueComplete // Queue plugin event }; swfu = new SWFUpload(settings); }; </script> <body style="font-size: 12px;"> <div id="content"> <h2>Upload files</h2> <form id="form1" action="upload.do" method="post" enctype="multipart/form-data"> <div class="fieldset flash" id="fsUploadProgress"> <span class="legend">Upload Queue</span> </div> <div id="divStatus">0 Files Uploaded</div> <div> <span id="spanButtonPlaceHolder"></span> <input id="btnCancel" type="button" value="Cancel All Uploads" onclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;" /> </div> </form> </div> <br/> <a href="filesList.do">Files List</a><br/> </body> </html>
servlet:
public class UploadFileServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(req, resp); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse resp) { File fileList=null; try { //先判断存储文件的路径在不在,如果不存在,则创建该目录 File dir=new File(Config.getUploadFilesDir()); if(!dir.exists()){ boolean b=dir.mkdirs(); } //如果存储文件的“DB”不存在,则创建 fileList=new File(Config.getFileNamesDB()); if(!fileList.exists()){ fileList.createNewFile(); } DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload=new ServletFileUpload(factory); List<FileItem> items=upload.parseRequest(request); // System.out.println("items.size()===>"+items.size()); // System.out.println("fileName1===>"+items.get(0).getName()); // System.out.println("fileName2===>"+items.get(1).getName()); // System.out.println("fileName3===>"+items.get(2).getName()); Iterator iterator=items.iterator(); while(iterator.hasNext()){ FileItem item=(FileItem)iterator.next(); if(!item.isFormField()){ item.write(new File(Config.getUploadFilesDir()+item.getName())); TxtTools.appendContent(Config.getFileNamesDB(), item.getName()); PrintWriter out=resp.getWriter(); out.print("200");//告诉swfupload上传成功了,swfuplaod默认 收到200 为成功,其它返回请具体查看swfupload 的api out.close(); } } } catch (Exception e) { e.printStackTrace(); }finally{ // } } }
pom:
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3</version> </dependency>
相关推荐
此外,`Common-fileupload`与Servlet API紧密集成,使得它易于与其他Java Web框架如Spring、Struts等结合使用。 为了实现文件上传,你需要创建一个Servlet或者控制器,配置MultipartConfigElement以指定临时文件...
这个"最全的common-FileUpload.jar包"结合了两个关键的Apache Commons库,为开发者提供了强大的文件上传解决方案,无论是小型项目还是大型企业级应用,都能从中受益。通过深入理解和有效利用这些工具,可以极大地...
commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-...
Apache Commons FileUpload库是一个强大的工具,它使得在Servlet环境中处理文件上传变得简单。本文将详细介绍如何使用Commons FileUpload库来实现文件上传和下载的功能,并提供示例代码。 首先,我们需要理解...
本篇文章将详细讲解如何使用`Commons-FileUpload`进行文件上传,并读取上传文件的内容。 首先,了解`Commons-FileUpload`的工作原理。它解析HTTP请求,将多部分的数据分割成单独的部分,这些部分可以是文本或文件。...
开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...
在Java开发中,`common...总之,`common-io`和`common-fileupload`是Java开发中的强大工具,它们简化了常见的I/O操作和文件上传处理,提高了开发效率。了解并熟练运用这些库,能帮助开发者更好地应对实际项目中的挑战。
综上所述,这些组件的结合使用,可以构建一个健壮的、能够处理文件上传以及与数据库交互的Java Web应用,是Java开发中常见的技术栈配置。开发者在实际项目中,可以通过这些工具来提升应用的稳定性和效率。
通过这种方式,Struts2的拦截器和Common-FileUpload相结合,可以构建出强大且灵活的文件上传功能,同时保持代码的整洁和模块化。这不仅可以提高代码的可维护性,还能有效地避免常见的文件上传安全问题。对于Web...
赠送Maven依赖信息文件:commons-fileupload-1.3.3.pom; 包含翻译后的API文档:commons-fileupload-1.3.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:commons-fileupload:commons-fileupload:1.3.3; 标签:...
common-fileupload官方文档
"Common-FileUpload带进度条文件上传"是一个专门处理这种需求的解决方案,它允许用户在上传文件时看到进度条,提供更好的用户体验。下面我们将详细探讨这个主题以及相关知识点。 1. 文件上传的基本原理:在Web开发...
在`MyProject`这个压缩包中,可能包含了使用`common-fileupload`进行文件上传和下载的示例代码,你可以解压后查看具体实现。通过阅读和理解代码,可以更好地掌握文件上传下载的实践应用。在实际开发中,结合源码和...
赠送Maven依赖信息文件:commons-fileupload-1.4.pom; 包含翻译后的API文档:commons-fileupload-1.4-javadoc-API文档-中文(简体)版.zip; Maven坐标:commons-fileupload:commons-fileupload:1.4; 标签:...
### Common-fileupload组件实现文件上传 #### 一、概述 在现代Web开发中,文件上传是一项常见的需求。尤其是在Java Web应用程序中,实现文件上传功能变得越来越简单,这得益于丰富的开源库支持。Common-fileupload...
下面,我们将深入探讨如何使用`Commons FileUpload`库在Java中实现文件上传功能,并基于提供的"文件上传demo"进行分析。 首先,我们需要添加`Commons FileUpload`的依赖到我们的项目中。如果你使用的是Maven,可以...
在文件上传和下载场景中,Servlet接收客户端请求,处理文件操作,并将结果返回给客户端。 三、文件上传步骤 1. **配置Servlet**:首先,需要在web.xml中注册一个Servlet,指定它处理的请求URL。 2. **创建Servlet**...
common-fileupload控件不能删除临时文件的原因分析 1.分析原因 2.出现条件 3.过程分析 4.解决办法
在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...
在Java Web开发中,处理用户上传的多文件是一项常见的任务,Apache Commons FileUpload库与Servlet技术结合使用,能很好地解决这个问题。本篇文章将详细介绍如何利用`commons-fileupload`库实现Servlet环境下的多...