为什么我下的demo都不管用 谁用过这个多文件上传的例子啊

解决方案 »

  1.   

    swfupload 的多文件其实也是一个一个上传的
    有多少个文件,swfupload就会请求多少次服务器。
    所以,只需在文件接收的页面处理单个文件获取上传的数据HttpPostedFile file = Request.Files["Filedata"];
      

  2.   


    可以,有两种方法:
    1) 1个实例多个文件
    swfu = new SWFUpload({
    // Backend Settings
    upload_url: "../applicationdemo.net/upload.aspx", // Relative to the SWF file
                    post_params : {
                        "ASPSESSID" : "<%=Session.SessionID %>"
                    }, // File Upload Settings
    file_size_limit : "2048", // 2MB
    file_types : "*.jpg",
    file_types_description : "JPG Images",
    file_upload_limit : "0",    // Zero means unlimited
    2) 多个swfupload实例
      

  3.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="utf-8" />
    <meta name="robots" content="all" />
    <meta name="author" content="Tencent-ISRD" />
    <meta name="Copyright" content="Tencent" />
    <meta name="Description" content="Qzone精彩由你而来" />
    <meta name="Keywords" content="Qzone,QQ空间,Blog,博客,网络日志,播客,腾讯,QQ,Tencent" />
    <title></title>
    <style>
    .author-display {display:none;}
    .visitor-display {display:none;}
    </style>
    <link rel="stylesheet" rev="stylesheet" href="upload_photo.css" type="text/css" media="screen"/>
    <link rel="Shortcut Icon" href="/favicon.ico" type="image/x-icon" />
    <style type="text/css">
    <!--
    body {
    /*overflow:hidden;*/
    background-color:transparent;
    }
    -->
    </style>
    <script src="http://imgcache.qq.com/qzone/client/photo/pages/qzone_v4/script/qzflsmall.js"></script>
    <script src="http://imgcache.qq.com/qzone/client/photo/pages/qzone_v4/script/album.js"></script>
    <script language="vbscript" src="http://imgcache.qq.com/qzone/client/photo/script/code_proc.vbs"></script>
    <script src="../js/swfupload.js""></script>
    </head>
    <body>
    <div class="photo">
        <div class="bg_mode">
          <div class="box_ml bor">
            <div class="mode_gb">
              <!--==S 模块标题-->
              <div class="mode_gb_title style_mode_gb_title" style="height:auto">
              </div>
              <!--==E 模块标题-->
              <!--==S 模框内容-->
              <div class="mode_gb_cont">
    <!--==S 导航指引标题-->
    <!--==E 导航指引标题-->
    <!--==S 相册-->
    <div class="upload_main">
    <div class="upload_main_frame">
    <div class="flash_upload_frame">
    <div class="upload_frame_title">
    <button id="cancel_btn" class="cancel_button" onclick="Flash.cancel()">全部删除</button>
    <%--<button class="add_button" id="add_file_btn" onclick="Flash.selectFiles()">添加照片</button>--%>
    <div id="add_file_btn" style="float:left;padding:6px 2px 0 4px; width:63px" ></div>
    <button class="upload_button" id="start_up_btn" onclick="Flash.startUpload()" style="display:none">开始上传</button>
    <button class="disabled" id="nstart_up_btn" disabled="disabled">开始上传</button>
    </div>
    <div class="flash_upload_point" id="add_lable">请添加要上传的照片,点击开始上传(可按住ctrl键一次选中15张照片同时添加)</div>
    <div class="flash_upload_point" id="list_lable"  style="display:none"></div>
    <div class="flash_upload_hint" id="uped_lable"  style="display:none"></div>
    <div class="flash_upload_main">
    <p class="add_photo_upload" id="add_file"><a href="javascript:Flash.selectFiles()">添加照片</a></p>
    <div id="up_file_title" class="up_file_title" style="display:none">
    <table>
    <colgroup>
    <col style="width:50%;" />
    <col style="width:40%;" />
    <col style="width:10%;" />
    </colgroup>
    <thead>
    <tr>
    <th>名称</th>
    <th>状态</th>
    <th style="text-indent:4px;">操作</th>
    </tr>
    </thead>
    </table>
    </div>
    <div id="up_file_list" class="flash_upload_list" style="display:none"></div>
    </div>
    </div>

    </div>
    </div>
    <!--==E 相册-->
      </div>
              <!--==E 模框内容-->
            </div>
          </div>
        </div>
    </div>
    </body>
      

  4.   

    <script>
    var Flash = (function(){
    var _swfu;
    var _fileArray = [];
    var uploadStatus = 1; //0:可以上传 1:暂停上传,可以继续 -1:停止上传,不可继续 2:中间等待状态
    var inner;
    function showOrHideDel(type){
    var eles = QZONE.dom.getByName("del_up_file","td");
    if(type == "show"){
    for(var i=0; i<eles.length; i++){
    eles[i].style.visibility="";
    }
    }else{
    for(var i=0; i<eles.length; i++){
    eles[i].style.visibility="hidden";
    }
    }
    }
    function getFileIndexById(fid){
    for(var i=0; i < _fileArray.length; i++){
    if(_fileArray[i].id == fid){
    return i;
    }
    }
    }
    function addFile(file){
    for(var i=0; i<_fileArray.length; i++){
    if(file.name==_fileArray[i].name &&
    file.size==_fileArray[i].size &&
    file.creationdate.getTime()==_fileArray[i].creationdate.getTime() &&
    file.modificationdate.getTime()==_fileArray[i].modificationdate.getTime()){
    _swfu.cancelUpload(file.id);
    return false;
    }
    }
    _fileArray.push(file);
    return true;
    }
    function setFileStatus(fid,status){
    _fileArray[getFileIndexById(fid)].filestatus = status;
    }
    //支持 file object 和 status number
    function fileStatus(o){
    var html,status;
    if(typeof(o) == "object" && o.id){
    status = o.filestatus;
    }else{
    status = o;
    }
    switch(status){
    case -1 : html = '等待上传';break;
    case -2 : html = '<div class="loading_rate"><div class="rate_bar" style="width:1%"></div></div><strong class="proportion">1%</strong>';break;
    case -3 : html = '上传失败';break;
    case -4 : html = '上传成功!';break;
    case -5 : html = '取消上传';break;
    case -6 : html = '<span class="loading_hint">照片大小超过2M</span>';break;
    //自己定义的错误吗
    case -501 : html = '<span class="loading_hint">对不起,服务器忙!</span>';break;
    case -502 : html = '<span class="loading_hint">文件出错!</span>';break;
    case -503 : html = "上传成功!";break;
    case -504 : html = "上传失败";break;
    case -505 : html = "上传失败";break;
    case -506 : html = '<span class="loading_hint">照片大小超过2M</span>';break;
    case -507 : html = '<span class="loading_hint">文件大小为0</span>';break;
    case -508 : html = '<span class="loading_hint">文件格式错误</span>';break;
    case -509 : html = '<span class="loading_hint">登陆超时</span>';break;
    case -510 : html = '<span class="loading_hint">含有违规信息!</span>';break;
    }
    return html;
    }
    function buildHtml(){
    var html=[];
    var size = 0, count, errCount = 0;
    if(_fileArray.length < 1){
    $hide("up_file_list");
    $hide("up_file_title");
    $show("add_file"); $hide("list_lable");
    $hide("uped_lable");
    $show("add_lable"); $hide("start_up_btn");
    $show("nstart_up_btn");
    $("cancel_btn").disabled = true;
    return;
    }else{
    $show("up_file_list");
    $show("up_file_title");
    $hide("add_file"); $hide("add_lable");
    $show("list_lable");
    $show("uped_lable"); $show("start_up_btn");
    $hide("nstart_up_btn");
    $("cancel_btn").disabled = false;
    }
    for(var i = 0; i < _fileArray.length; i++){
    var name = _fileArray[i].name.replace(/\.[a-zA-Z]+$/g,"");
    if(name.lenB() > 14){
    name = name.leftB(14) + "...";
    }
    var tmp = [
    '<tr>',
    '<td>'+name+'</td>',
    '<td id="page_'+_fileArray[i].id+'">',
    fileStatus(_fileArray[i]),
    '</td>',
    '<td name="del_up_file"><button title="删除" class="icon_photo_delete" onclick="Flash.delFile(\''+_fileArray[i].id+'\')"><span>删除</span></td>',
    '</tr>'
    ].join("");
    html.push(tmp);
    if(_fileArray[i].size == null || typeof(_fileArray[i].size) != "number"){
    _fileArray[i].size = 0;
    }
    size += _fileArray[i].size;
    if(_fileArray[i].filestatus == -6 || _fileArray[i].filestatus == -506){
    errCount++;
    }
    }
    if(size > 1024 * 1024){
    size = "(大小"+Math.round((size/1024/1024)*100)/100+"MB)";
    }else if(size > 1024){
    size = "(大小"+parseInt(size/1024)+"KB)";
    }else{
    size = "(大小"+parseInt(size)+"B)";
    }
    count = "<strong>"+_fileArray.length+"</strong>"
    if(errCount > 0){
    $("uped_lable").innerHTML = '已添加'+count+'张照片'+size+" "+errCount+'张照片大小超过2M,请使用<a href="javascript:Page.goActUp()" style="color:#EA0000">极速上传工具</a>上传';
    $hide("list_lable");
    }else{
    $("list_lable").innerHTML = '已添加'+count+'张照片'+size;
    $hide("uped_lable");
    }
    $("up_file_list").innerHTML = [
    '<table>',
    '<colgroup>',
    '<col style="width:50%;" />',
    '<col style="width:40%;" />',
    '<col style="width:10%;" />',
    '</colgroup>',
    '<tbody>',
    html.join(""),
    '</tbody>',
    '</table>'
    ].join("");
    }
    return inner = {
    init : function(upurl){
    var settings = {
    flash_url : "swfupload_f9.swf",
    flash_width : "63px",
    flash_height : "25px",
    flash_container_id : "add_file_btn",
    upload_url: upurl,
    file_post_name : "filename",
    post_params: {
    "tagtext" : "",
    "refer" : "qzone",
    "output_type" : "json",
    "callback_fuc" : "upload"
    },
    file_size_limit : "2MB",
    file_types : "*.jpg;*.gif;*.jpeg;*.png",
    file_types_description : "图片",
    file_upload_limit : 15,
    file_queue_limit : 0,
    custom_settings : {},
    debug: false,
    // The event handler functions are defined in handlers.js
    swfupload_loaded_handler : Flash.flashReady,
    file_queued_handler : Flash.fileQueued,
    file_queue_error_handler : Flash.fileQueueError,
    file_dialog_complete_handler : Flash.fileDialogComplete,
    upload_start_handler : Flash.uploadStart,
    upload_progress_handler : Flash.uploadProgress,
    upload_error_handler : Flash.uploadError,
    upload_success_handler : Flash.uploadSuccess,
    upload_complete_handler : Flash.uploadComplete,
    queue_complete_handler : Flash.queueComplete // Queue plugin event
    };
    if(_swfu){
    _swfu.destroy();
    }
    _swfu = new SWFUpload(settings);
    _fileArray = [];
    uploadStatus = 1;
    $("cancel_btn").innerHTML = "全部删除";
    $("start_up_btn").innerHTML = "开始上传"
    $("add_file_btn").disabled = true;
    $("add_file").disabled = true;
    buildHtml();
    },
    addPostParam : function(name,value){
    try{
    _swfu.addPostParam(name,value);
    }catch(e){};
    },
    selectFiles : function(){
    try{
    _swfu.selectFiles();
    }catch(e){};
    },
    startUpload : function(){
    if(!Page.checkAid()) return;
    if(uploadStatus != -1){
    if(!(parent.checkLogin()>10000)){
    LoginBack = function(){
    Flash.startUpload();
    }
    parent.showLoginBox("photo");
    return;
    }else if(User.isOwner()){//只有主人才可以上传
    _swfu.startUpload(); }else{
    alert("您输入的相册主人ID不对!");
    qz_go_imc("album_list.htm");
    }
    }
    },
    delFile : function(fid){
    var tmp = [];
    for(var i = 0; i < _fileArray.length; i++){
    if(fid != _fileArray[i].id){
    tmp.push(_fileArray[i]);
    }
    }
    _fileArray = tmp;
    _swfu.cancelUpload(fid);
    buildHtml();
    },
    setUploadStatus : function(status){
    status = parseInt(status);
    if(status < -1 || status > 1) return;
    uploadStatus = status;//0:可以上传 1:暂停上传,可以继续 -1:停止上传,不可继续
    showOrHideDel("show");
    },
    getStats : function(){
    stats = _swfu.getStats();
    var suc = 0; err = 0;
    for(var i=0; i< _fileArray.length; i++){
    if(_fileArray[i].filestatus == -4 || _fileArray[i].filestatus == -503){
    suc++;
    }else{
    err++;
    }
    }
    stats.real_success = suc;
    stats.real_error = err;
    stats.real_total = suc + err;
    return stats;
    },
    clean : function(){
    for(var i=0; i < _fileArray.length; i++){
    _swfu.cancelUpload(_fileArray[i].id);
    }
    _fileArray = [];
    uploadStatus = 1;
    buildHtml();
    },
    cancel : function(){
    if(uploadStatus == 0){
    Flash.setUploadStatus(1);
    $("cancel_btn").innerHTML = "全部删除";
    $("start_up_btn").innerHTML = "重新上传"
    }else{
    Flash.clean();
    }
    },