转摘——仿网易126网络硬盘上传

前台代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>仿网易126网络硬盘上传 by littlelam</title>
</head>
<script>
//css样式以及部分代码源自126
var TotalFiles = 0;
function AddFiles()
{
    TotalFiles 
++;
    
var file=document.createElement("input"); 
    file.type 
= "file";
    file.id 
= "f"+ TotalFiles.toString();
    file.name 
= "files"+ TotalFiles.toString(); 
    file.hideFocus 
= true;
    file.size 
= 1;
    file.style.cssText 
= "cursor:pointer; width:1px; border:none; height:32px; padding:0px; margin:0px;position:absolute; opacity:0;filter:alpha(opacity=0);left:-32px !important;left:-5px;left/**/:-3px; font-size:20px;";
    file.onchange 
= function ()
    
{
        
for (var i=1;i<=TotalFiles;i++)
        
{
            
if ($("f"+i.toString())&&$("f"+i.toString())!=this)
            
{
                
if ($("f"+i.toString()).value == this.value)
                
{
                    DelFile(
this.id.replace("f",""));
                    AddFiles();
                    window.alert(
"已有相同文件,无须重复上传");
                    
return;
                }

                    
            }

                
        }

        $(
"s"+TotalFiles.toString()).innerHTML = "<table class=oplist_filelist cellSpacing=0 cellPadding=0 width=\"100%\" border=0><tr class=tr_file><td class=td_pathlist>&nbsp;" + $("f"+TotalFiles.toString()).value +  "</td><td class=td_operate noWrap><span onclick=\"DelFile('"+TotalFiles.toString()+"')\" style=\"cursor:pointer;color:red;font-weight:bloder;\">X&nbsp;移除</span></td></tr></table>";
        
this.style.display = "none";
        AddFiles();
        CheckUploadDiv();
    }
;
    $(
"uploadInput").appendChild(file);
    
var div=document.createElement("div"); 
    div.id 
= "s"+ TotalFiles.toString();
    $(
"uploadDiv").appendChild(div);

}

function DelFile(str)
{
    $(
"uploadInput").removeChild($("f"+str));
    $(
"uploadDiv").removeChild($("s"+str));  
    CheckUploadDiv();
}

function CheckUploadDiv()
{
    $(
"divNone").style.display = $("uploadDiv").innerHTML.indexOf("移除")==-1?"":"none";
}

function DelEmpty()
{
    
for (var i=1;i<=TotalFiles;i++)
    
{
        
if ($("f"+i.toString()))
        
{
            
if ($("f"+i.toString()).value == "")
                $(
"uploadInput").removeChild($("f"+i.toString()));
        }

            
    }

}

function checkForm()
{
    
var HaveFile = false;
    
for (var i=1;i<=TotalFiles;i++)
    
{
        
if ($("f"+i.toString()))
        
{
            
if ($("f"+i.toString()).value != "")
            
{
                HaveFile 
= true;
                
break;
            }

        }
            
    }

    
if (!HaveFile)
    
{
        window.alert(
"点击“添加文件”按钮 添加要上传的文件");    
        
return false;
    }
    
    $(
"submitButton").disabled = true;
    DelEmpty();
    
return true;
}

function $(id)
{
    
return document.getElementById(id);    
}

</script>
<style>
a.btn
{background-image:url(http://mimg.163.com/netfolder/images/all_toolbar.gif);display:block; background-position:2px -32px; margin:6px 4px;float:left; border:1px solid #bebebe; cursor:pointer; position:relative;}
.addbtn
{height:32px;width:100px;}
a.btn:hover
{background-position:2px -64px; border:1px solid #d2d2d2; background-color:#FFFFEE;}
</style>
<body>
<FORM METHOD="post" NAME="form1" ACTION="savetofile.aspx" ENCTYPE="multipart/form-data" onSubmit="return checkForm();">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="twp_all">
  
    
<tr>
      
<td><div class="oplist_op_af_inner" id="buttonDiv"><href="javascript:AddFiles();" class="btn"><div id="uploadInput" class="addbtn"></div></a>          
        
</div>
        
</td>
    
</tr>
    
<tr>
      
<td>
        
<div class="twp_con_div2" id="filePanel">
          
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="oplist_filelist">
            
<tr class="tbl_inner_title">
              
<td class="td_pathlist">文件路径</td>
              
<td nowrap class="td_operate">操作</td>
            
</tr>
          
</table>          
          
<div id="uploadDiv"></div>
        
</div>
       
</td>
    
</tr>
<script>AddFiles();</script>  
  
<tr>
    
<td class="wp_bottom button_bar"><input name="submit" id="submitButton" type="submit" value="开始上传">
       
     
</td>
  
</tr>
</table>
</form>
</body>
</html>


后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;

namespace NetDisk
{
    
public partial class UpFile : System.Web.UI.Page
    
{
        
private string Path;
        
private string DirectoryName = "";
        
protected void Page_Load(object sender, EventArgs e)
        
{
            Path 
= Server.MapPath("~/"+ "Lam\\";
            DirectoryName 
= (Request["txtDirectoryName"+ "").Replace(".""").Replace("\\""").Replace("/""");
            
if (!Directory.Exists(Path + DirectoryName + "\\"|| DirectoryName.Trim() == "")
                Response.Redirect(
"FolderList.aspx");
            txtDirectoryName.Value 
= DirectoryName;
            lDirectoryName.Text 
= DirectoryName;
            
if (Request.Files.Count > 0)
            
{
                
for (int i = 0; i < Request.Files.Count; i++)
                
{
                    
if (!System.IO.File.Exists(Path + DirectoryName + "\\" + System.IO.Path.GetFileName(Request.Files[i].FileName)))
                    
{
                        Request.Files[i].SaveAs(Path 
+ DirectoryName + "\\" + System.IO.Path.GetFileName(Request.Files[i].FileName));
                    }

                    
else
                    
{
                        
int j = 0;
                        
while (System.IO.File.Exists(Path + DirectoryName + "\\" + System.IO.Path.GetFileNameWithoutExtension(Request.Files[i].FileName) + "(" + j.ToString() + ")" + System.IO.Path.GetExtension(Request.Files[i].FileName)))
                            j
++;
                        Request.Files[i].SaveAs(Path 
+ DirectoryName + "\\" + System.IO.Path.GetFileNameWithoutExtension(Request.Files[i].FileName) + "(" + j.ToString() + ")" + System.IO.Path.GetExtension(Request.Files[i].FileName));
                    }

                }

                Response.Redirect(
"FileList.aspx?DirectoryName=" + Server.UrlEncode(DirectoryName), true);
            }

        }

    }

}

posted on 2007-12-09 11:26    阅读(427)  评论(1编辑  收藏  举报

导航