`

多文件上传

阅读更多
一、到http://www.uploadify.com/下载最新版,我的是jquery.uploadify-v1.6.2 (MIT)
二、下载包解压放在对应位置
三、HttpServlet,如下:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        ServletContext servletContext = this.getServletConfig().getServletContext();
        ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
        UploadFileDao dao = (UploadFileDao) appContext.getBean("uploadFileDao");
        String savePath = this.getServletConfig().getServletContext()
        .getRealPath("/")
        + UPLOAD_FOLDER;
        DiskFileItemFactory fac = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(fac);
        List fileList = null;
        try {
            fileList = upload.parseRequest(req);
        } catch (FileUploadException ex) {
            ex.printStackTrace();
            return;
        }
        Iterator<FileItem> it = fileList.iterator();
        StringBuilder sb = new StringBuilder();
        while(it.hasNext()){
            FileItem item =  it.next();
            if(!item.isFormField()){
                String name = item.getName();
                long size = item.getSize();
                String type = item.getContentType();
                if(StringUtils.isBlank(name))
                    continue;
                File saveFile = new File(savePath+name);
                try {
                    item.write(saveFile);
                    String format = "yyyy/MM/dd hh:mm:ss";
                    UploadFile uploadFile = new UploadFile();
                    uploadFile.setCreateTime(DateUtil.getCurDateString(format));
                    uploadFile.setName(UUID.randomUUID().toString());
                    uploadFile.setOrgName(name);
                    uploadFile.setType(type);
                    uploadFile.setSize(size);
                    dao.save(uploadFile);
                    if(StringUtils.isBlank(sb.toString()))
                        sb.append(uploadFile.getId());
                    else
                        sb.append(";"+uploadFile.getId());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
       
        resp.getWriter().print(sb.toString());
    }

四、对应调用页面,jsp:
引入必要的css和javascript
头部:

//upload file
            $("#fileUpload").fileUpload({
                'uploader': '${ctx}/js/uploadify/uploader.swf',
                'cancelImg': '${ctx}/js/uploadify/cancel.png',
                'script': '${ctx}/file/upload',
                'folder': 'upload',
                'multi': true,
                'buttonText': 'Select Files',
                'displayData': 'speed',
                onComplete:    function(event,queueID,fileObj,response,data) {
                                var fm = document.forms[0];
                                var fileInputs = document.getElementsByName("logos");
                                for(var i=0;i<fileInputs.length;i++){
                                    fm.removeChild(fileInputs[i]);
                                }
                                //生成隐藏字段
                                var fileInput = document.createElement("input");
                                fileInput.setAttribute("name","logos");
                                fileInput.setAttribute("value",fileObj.name);
                                fileInput.setAttribute("type","hidden");
                                fm.appendChild(fileInput);
                }
            });


页面body:
<div id="fileUpload">You have a problem with your javascript</div>
<a href="javascript:$('#fileUpload').fileUploadStart()">Start Upload</a> |  <a href="javascript:$('#fileUpload').fileUploadClearQueue()">Clear Queue</a>


分享到:
评论
4 楼 mogui258 2010-08-22  
owner888 写道
用flash上传,很多问题的,首先,FF下的flash不能把cookie上传到服务器上,而IE下的flash却可以(adobe公司的问题)。第二,传路径的时候不能传物理路径,必须修改flash源文件,第三,FF在https下上传有IO Error,(也是adobe公司的问题)。我也在研究这个,有兴趣上我网看看,http://kukaka.org.cn,交流交流心得,上面有我写的解决办法。

就接着装C吧!
3 楼 owner888 2009-08-17  
用flash上传,很多问题的,首先,FF下的flash不能把cookie上传到服务器上,而IE下的flash却可以(adobe公司的问题)。第二,传路径的时候不能传物理路径,必须修改flash源文件,第三,FF在https下上传有IO Error,(也是adobe公司的问题)。我也在研究这个,有兴趣上我网看看,http://kukaka.org.cn,交流交流心得,上面有我写的解决办法。
2 楼 dong_java 2009-07-29  
.....怎么给服务器端传值啊。晕死没搞懂,请赐教比如struts2,谢谢
1 楼 dong_java 2009-07-27  
刚刚看到这个插件感觉不错就是不知道怎么用,英文又差,您能把你写的例子源码(jsp,java)给我发一份吗?先谢谢了!
dong_java@126.com

相关推荐

    java多文件上传实现

    在Java开发中,多文件上传是一项常见的功能,尤其在Web应用中,用户可能需要一次性上传多个文件,如图片、文档等。本知识点将详细介绍如何在Java中实现这一功能,以及结合Flash实现上传界面并显示上传进度条。 1. *...

    JSP多文件上传(同时上传)

    "JSP多文件上传"是一个常见的需求,特别是在文件分享、在线教育或文档管理等场景。这个功能允许用户一次性选择并上传多个文件,提高了用户体验,减少了多次点击和等待时间。 实现JSP多文件上传,我们需要了解以下几...

    EXTJS 多文件上传

    在EXTJS中,`MultiFileUploadField` 是一个组件,它允许用户在单个操作中选择并上传多个文件,极大地提升了用户交互体验。这个功能对于处理大量文件上传的场景非常有用,比如在内容管理系统、图像库或者文件分享平台...

    多文件上传和展示

    多文件上传功能则意味着用户可以一次性选择并上传多个文件,大大提高了数据传输的效率。 【详细实现】 1. **引入资源**:首先,你需要在HTML文件中引入Bootstrap和Bootstrap-fileinput的相关CSS和JS文件。这些文件...

    多文件上传 源码

    这个源码可能提供了一种实现方式,允许用户同时上传多个文件,并且带有进度条显示,用户可以随时停止或删除正在上传的文件。这样的功能提高了用户体验,因为它允许用户批量处理文件,而无需逐一操作。 在实现多文件...

    C# .NET FileUpload 多文件上传例子

    对于初学者来说,理解并实现多文件上传是一项重要的技能,它可以帮助你构建交互性强、功能完善的Web应用程序。在这个"C# .NET FileUpload 多文件上传例子"中,我们将探讨两种主要的方法,帮助你理解和掌握这一关键...

    uniapp 多文件上传

    在uniapp框架中,多文件上传是一个常见的功能需求,尤其在构建移动应用或者Web应用时。uniapp基于Vue.js,提供了丰富的API接口,使得开发者能够方便地实现这一功能。本篇将详细介绍如何在uniapp中进行多文件上传,并...

    基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传

    基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 项目经过严格测试,确保可以运行! 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...

    JSP同时选择多文件上传MultifileUploadDemo

    在多文件上传的场景中,JSP主要负责接收和处理来自客户端的文件上传请求。 在"MultifileUploadDemo"中,我们利用了Flash作为前端的上传组件。Flash因其支持多媒体和交互性而被广泛用于创建丰富的互联网应用程序。在...

    javascript+HTML5 多文件上传(插件)多进度条显示

    在本项目中,"javascript+HTML5 多文件上传(插件)多进度条显示"是一个实现这一功能的实例,它允许用户选择并上传多个文件,并在上传过程中实时显示每个文件及整体的上传进度。下面将详细介绍这个技术实现的关键...

    flash 实现的多文件上传

    标题中的“Flash实现的多文件上传”指的是使用Adobe Flash技术来实现用户在Web页面上同时上传多个文件的功能。Flash在过去的网页开发中被广泛应用于多媒体交互和富互联网应用(RIA),其中包括文件上传功能,因为它...

    Ext3.0实现多文件上传.rar

    这个功能通常在网页应用中用于让用户能够一次性上传多个文件,如图片、文档等,极大地提高了用户体验。 多文件上传通常涉及以下几个关键技术点: 1. **HTML5 File API**: 这是实现多文件上传的基础。File API允许...

    COS框架实现上传稍加修改即可实现多文件上传

    本文将深入探讨如何使用COS框架实现单文件上传,并进一步说明如何通过稍加修改实现多文件上传。 首先,让我们了解COS的基本概念。COS是一种分布式存储服务,它允许用户存储和检索任意数量的数据,无论数据大小。...

    大文件上传,和多文件上传

    多文件上传是指一次操作中上传多个文件的能力。这种功能常见于照片分享网站、文档管理应用等。实现多文件上传,通常有以下方法: 1. **HTML5 File API**:现代浏览器支持HTML5的File API,可以一次性选择并上传多个...

    多文件上传--多文件上传组件

    在IT行业中,多文件上传是一项常见的功能,尤其在网页应用和桌面软件中,它允许用户一次选择并上传多个文件,极大地提高了工作效率。本资源提供的是一款基于Eclipse开发的多文件上传组件,它可以帮助开发者轻松地...

    异步提交多文件上传

    1. **多文件上传**:多文件上传是指用户可以在一次操作中选择并上传多个文件,而不是逐个上传。这提高了用户体验,减少了用户的交互次数。在HTML5中,`&lt;input type="file" multiple&gt;`标签被引入,使得浏览器支持多选...

    c# 使用WebRequest实现多文件上传.docx

    "C# 使用 WebRequest 实现多文件上传" C# 使用 WebRequest 实现多文件上传是.NET Framework 中的一种常见的网络编程技术。通过使用 WebRequest 类,可以实现 HTTP 请求和响应,包括多文件上传。在本篇文章中,我们...

    uploadify多文件上传例子代码

    在IT行业中,文件上传是网页应用中常见的功能之一,尤其在大数据时代,用户可能需要一次上传多个文件。"uploadify"是一款广泛使用的JavaScript插件,它使得多文件上传变得简单而高效。本示例代码是关于如何使用...

    springMVC实现多文件上传需要的jar

    这里,我们主要关注"springMVC多文件上传需要的jar"这一资源,它包含了实现这一功能所必需的Java档案(JAR)文件。 首先,Spring MVC是Spring框架的一个模块,专门处理Web应用的请求和响应。它提供了模型-视图-控制...

Global site tag (gtag.js) - Google Analytics