`
kaobian
  • 浏览: 208600 次
  • 性别: 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 怎么来的,前台没看见赋值啊,兄弟感激啊 ,

相关推荐

Global site tag (gtag.js) - Google Analytics