`
kaobian
  • 浏览: 212203 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

SWFUpload+struts2 进度条

阅读更多

本案例非本人的原创,是我把多个案例结合,修改其中的错误,补充其中的不足后的代码。

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>
  <link href="<%=basePath%>css/default.css" rel="stylesheet" type="text/css" />
       <script type="text/javascript" src="<%=basePath%>js/swfupload.js"></script>
       <script type="text/javascript" src="<%=basePath%>js/swfupload.queue.js"></script>
    <script type="text/javascript" src="<%=basePath%>js/fileprogress.js"></script>
    <script type="text/javascript" src="<%=basePath%>js/handlers.js"></script>
       <!-- 初始化swfupload 对象-->
   <script type="text/javascript">
        var upload1, upload2;

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

                //提交路径
                upload_url: "upload.action",
                //向后台传递额外的参数
                post_params: {"name" : "kaobian"},
                //上传文件的名称
                file_post_name: "file",
               
                // 下面自己按照字面意思理解
                file_size_limit : "102400",    // 100MB
                file_types : "*.*",
                file_types_description : "All Files",
                file_upload_limit : "10",
                file_queue_limit : "0",

                // 事件处理
                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 : "images/XPButtonUploadText_61x22.png",
                button_placeholder_id : "spanButtonPlaceholder1",
                button_width: 61,
                button_height: 22,
               
                // Flash Settings
                flash_url : "js/swfupload.swf",
               

                custom_settings : {
                    progressTarget : "fsUploadProgress1",
                    cancelButtonId : "btnCancel1"
                },
               
                // Debug Settings
                debug: false
            });
         }
       
    </script>
  </head>
 
  <body>
</div>
  <div id="content">
    <form action="upload.action" method="post" name="thisform" enctype="multipart/form-data">
        <table>
            <tr valign="top">
                <td>
                    <div>
                        <div class="fieldset flash" id="fsUploadProgress1">
                            <span class="legend">文件上传</span>
                        </div>
                        <div style="padding-left: 5px;">
                            <span id="spanButtonPlaceholder1"></span>
                            <input id="btnCancel1" type="button" value="Cancel Uploads" onclick="cancelQueue(upload1);" disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" />
                            <br />
                        </div>
                    </div>
                </td>
            </tr>
        </table>
    </form>
    </div>
  </body>
</html>

 

----------------------------------

 

java代码:

 

package com.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FileUploadAction extends ActionSupport {
    private File file;
    private String fileFileName;
    private String fileContentType;

    public String execute() throws Exception {
        // 实现上传
        InputStream is = new FileInputStream(file);
        String root = ServletActionContext.getRequest().getRealPath("/upload");
        File deskFile = new File(root, this.getFileFileName());
        OutputStream os = new FileOutputStream(deskFile);
        byte[] bytefer = new byte[1024];
        int length = 0;
        while ((length = is.read(bytefer)) != -1) {
            os.write(bytefer, 0, length);
        }
        os.close();
        is.close();
        return "success";
    }

    public File getFile() {
        return file;
    }

    public void setFile(File file) {
        this.file = file;
    }

    public String getFileFileName() {
        return fileFileName;
    }

    public void setFileFileName(String fileFileName) {
        this.fileFileName = fileFileName;
    }

    public String getFileContentType() {
        return fileContentType;
    }

    public void setFileContentType(String fileContentType) {
        this.fileContentType = fileContentType;
    }

}

分享到:
评论
3 楼 kizz 2013-11-07  
keyis 谢谢兄弟,很好使~
2 楼 ls3011 2013-03-04  
asd141747 写道
哥们 问下  你 fileFileName,fileContentType 怎么来的,前台没看见赋值啊,兄弟感激啊 ,

这两个字段是特殊的,struts2自动赋值的
1 楼 asd141747 2013-03-03  
哥们 问下  你 fileFileName,fileContentType 怎么来的,前台没看见赋值啊,兄弟感激啊 ,

相关推荐

    swfupload+Struts2多文件上传,有进度条,很漂亮的效果

    使用struts2整合swfupload,实现包含进度条的文件上传模块 SWFUpload的主要特点 * 可以同时上传多个文件; * 类似AJAX的无刷新上传; * 可以显示上传进度; * 良好的浏览器兼容性; * 兼容其他JavaScript库 (例如:...

    swfupload+ext2

    总的来说,“swfupload+ext2”项目结合了SwfUpload 的前端文件上传功能,Ext2 的富客户端界面,以及Struts2 的后端处理能力,形成了一套完整的文件上传解决方案。开发者可以通过导入这个项目到MyEclipse,快速地搭建...

    swfupload与struts2整合文件上传/完整Java实例

    综上所述,SwfUpload与Struts2的整合主要涉及前端的SwfUpload配置和后端的Struts2 Action处理。通过这种方式,我们可以构建出一个高效的文件上传系统,为用户提供流畅的上传体验。在测试过程中,可以使用`test8`这样...

    SwfUpload+ssh+easyui实现的文件上传

    SwfUpload 支持预览、进度条显示等功能,提高了用户体验,尤其是在处理大文件上传时。 SSH(Struts2 + Spring + Hibernate)是一个流行的Java Web开发框架组合,用于构建高效、可扩展的企业级应用。Struts2作为MVC...

    swfuplaod+struts2实现多文件上传

    下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用Flash技术提供了一个高级的文件上传体验。它的主要特性包括: 1. **多文件选择**...

    Struts2+SWFUpload上传文件并显示进度条

    在处理文件上传时,Struts2提供了一种简单的方法,但默认情况下,它可能缺乏用户友好的特性,比如文件上传进度条。在这种情况下,我们可以结合SWFUpload插件来增强用户体验。 SWFUpload是一款开源的Flash文件上传...

    JAVA+Struts2+swfupload文件上传下载

    本项目基于JAVA、Struts2框架以及swfupload插件,提供了一个完整的文件上传下载解决方案。以下是对这个项目的详细解读: 首先,**JAVA**作为后端编程语言,以其跨平台性和丰富的库资源被广泛应用于Web开发。在这里...

    swfupload java 上传进度条 上传时间 速度 struts2 开源

    SwfUpload 是一个开源的JavaScript库,用于在Web应用程序中实现文件上传功能,它与Java后端技术如Struts2框架结合使用,可以提供高级的文件上传体验。在这个项目中,SwfUpload 被用来展示文件上传的进度、速度以及...

    SWFUpload_struts2.rar

    在“SWFUpload_struts2.rar”这个压缩包中,我们可以看到以下几个关键文件和目录: 1. `.classpath`:这是Eclipse IDE的工作空间配置文件,包含了项目依赖的JAR文件路径和编译设置。对于Struts2项目,通常会包含...

    Struts2+上传进度条完美运行

    在这个“Struts2+上传进度条完美运行”的主题中,我们将深入探讨如何在Struts2框架下实现文件上传功能,并结合进度条展示上传进度,提供用户友好的交互体验。 1. **Struts2文件上传**: Struts2通过`struts2-core`...

    swfupload多文件上传带进度条javaweb项目

    **SwfUpload 多文件上传带进度条 JavaWeb 项目详解** SwfUpload 是一个流行的JavaScript库,它允许用户在浏览器端实现文件的批量上传,同时提供进度条展示上传进度,提高了用户体验。在这个JavaWeb项目中,...

    SWFupload_struts1.rar

    【SWFUpload与Struts1整合实现大文件上传与进度条】 在Web开发中,用户经常需要上传大文件,如视频、音频或大型文档。传统的HTML表单上传方式不支持断点续传,且无法显示文件上传进度,用户体验较差。为解决这些...

    struts2_extjs4.2_swfupload_progressbar实时上传进度条

    Struts2、ExtJS4.2、SwfUpload与ProgressBar:构建实时上传进度条 在Web应用中,用户上传大文件时,一个实时显示上传进度的功能可以极大地提升用户体验。Struts2作为Java企业级开发中常用的MVC框架,提供了一种高效...

    struts2+swfupload上传

    Struts2和SwfUpload是两个在Web开发中用于文件上传的工具,它们结合使用可以提供一种具有用户体验优化的文件上传功能,特别是包含了进度条显示,使得用户能够清晰地了解文件上传的状态。以下是对这两个技术及其结合...

    ext struts2 swfupload 跨域文件上传

    "ext struts2 swfupload 跨域文件上传"这个主题涉及到三个关键技术和概念:EXTJS(Ext JS)、Struts2以及SwfUpload,它们共同解决了Web应用中的跨域文件上传问题。 EXTJS是一种强大的JavaScript库,用于构建富...

    图片上传成功实例java+struts1

    2. **Struts1 框架**: Struts1是一个基于MVC(Model-View-Controller)设计模式的Java Web开发框架,用于构建结构化的Web应用程序。在图片上传实例中,Struts1主要负责接收前端发送的文件数据,进行业务逻辑处理,...

    swfupload demo struts

    **SWFUpload与Struts整合应用详解** 在Web开发中,文件上传功能是常见的需求,尤其是在用户需要提交图片、文档等非文本信息时。SWFUpload是一个强大的JavaScript库,它利用Flash技术实现了在浏览器端的多文件上传...

    Struts+swfupload实现文件上传功能

    2. **创建Struts Action**:在Struts框架中,我们需要创建一个Action类来处理文件上传请求。这个Action需要实现文件接收和保存的功能。在Struts配置文件(struts.xml)中,为该Action定义一个对应的URL映射。 3. **...

    三、struts2+swfUpload简单例子

    2. **SwfUpload组件**:SwfUpload利用Flash插件在前端实现文件选择和上传,支持多文件选择和进度条显示。其JavaScript接口允许开发者自定义上传前后的用户交互。 3. **前端集成**:要在网页上使用SwfUpload,需要在...

    struts2+swfupload实现大文件多文件上传

    Struts2和SwfUpload是两个在Web开发中用于处理用户交互的重要工具,它们结合使用可以实现高效的大文件和多文件上传功能。Struts2是一个基于MVC(Model-View-Controller)架构的Java框架,它提供了强大的控制层支持,...

Global site tag (gtag.js) - Google Analytics