转摘——仿网易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);
            }

        }

    }

}

你可能感兴趣的:(转摘——仿网易126网络硬盘上传)