一.多文件上传【客户端处理脚本的例子】
<!
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"
>
<
HTML
>
<
HEAD
>
<
meta
http-equiv
="Content-Language"
content
="zh-cn"
>

<
script
>
...

functionmCreateFile(obj)...{
vareF
varmName
mFileName.innerHTML=""
if(obj.id=="File")...{
for(i=0;i<mFile.children.length-1;i++)
...{
if(mFile.children[i].value=="")...{
mFile.removeChild(mFile.children[i])
}
else
...{
mName=mFile.children[i].value.split("")
mFileName.innerHTML+="<divid=NameDetailtitle='"+mName[mName.length-1]+"'>"+mName[mName.length-1]+"</div>"
}
}
mstatus.innerHTML="总共有<b>"+(mFile.children.length-1)+"</b>个文件等待上传"
}
if(obj.id=="File_New"){
eF=document.createElement('<inputtype="file"name="File"size="23"id=File_Newonpropertychange="mCreateFile(this)">')
mFile.appendChild(eF)
obj.id="File"
}
}
</script>
<style>
table{
FILTER:progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#999999,strength=3);
}
input{
border:1pxsoild#000000;
font-family:Verdana,Arial,宋体;
font-size:12px;
padding:2px;
}
#mTD{
LINE-HEIGHT:24px;
}
#mFile{
width:203px;
float:left;
|
#mFileName{
float:right;
width:182px;
}
#NameDetail{
overflow:hidden;
width:176px;
color:#000000;
font-family:Verdana,Arial,宋体;
font-size:12px;
cursor:default;
height:22px;
}
#mstatus{
font-size:12px;
color:#ff0000;
}
</style>
</head>
<body>
<formname=frmmethod=post>
<divalign="center">
<tableborder="1"width="420"style="border-collapse:collapse"bordercolor="#0066cc"cellpadding="4"bgcolor="#D0F0FF">
<tr>
<tdbgcolor="#3399FF"height="26"align="center"><fontcolor="#FFFFFF"size="3"><b>添加附件</b></font></td>
</tr>
<tr>
<tdid=mTD>
<divid=mFile><inputtype="file"name="File"size="23"id=File_Newonpropertychange="mCreateFile(this)"></div>
<divid=mFileName></div>
<divid=mstatus>总共有<b>0</b>个文件等待上传</div>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>后台代码:CS
二.简单操作文件上传实例(文件上传,自动重命名,自动添加文件夹)
前台代码:ASPX
<%
...
@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="Album_Default"
%>

<!
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
runat
="server"
>
<
title
>
无标题页
</
title
>
</
head
>
<
body
>
<
form
id
="form1"
runat
="server"
>
<
div
>
<
asp:FileUpload
ID
="FileUpload1"
runat
="server"
/>
<
asp:Button
ID
="Button1"
runat
="server"
OnClick
="Button1_Click"
Text
="Button"
/><
br
/>
<
asp:Image
ID
="Image1"
runat
="server"
Height
="100px"
/><
br
/>
<
asp:Label
ID
="Label1"
runat
="server"
></
asp:Label
></
div
>
</
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;
public
partial
class
Album_Default:System.Web.UI.Page
...
{
protectedvoidPage_Load(objectsender,EventArgse)
...{
Image1.Visible=false;
}
protectedvoidButton1_Click(objectsender,EventArgse)
...{
stringfilename=FileUpload1.FileName;
stringsize=FileUpload1.PostedFile.ContentLength.ToString();
string[]myfile=filename.Split('.');
stringdotname=myfile[myfile.Length-1].ToString().ToLower();
stringtype=FileUpload1.PostedFile.ContentType;
stringtype2=filename.Substring(filename.LastIndexOf(".")+1);
stringimgpath=Server.MapPath("~/Upimg")+"/";
stringfilepath=Server.MapPath("~/Upfile")+"/";
stringfolder=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString();

if(type2=="jpg"||type2=="gif")
...{
Image1.Visible=true;
if(!System.IO.Directory.Exists(imgpath+folder))
...{//自动生成文件夹
System.IO.Directory.CreateDirectory(imgpath+folder);
}
Randommyrdn=newRandom();//产生随机数
//日期,时间,随机数和后缀名
stringnewfilename=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+myrdn.Next(10000).ToString()+"."+dotname;
FileUpload1.SaveAs(imgpath+folder+"/"+newfilename);
stringwpath="~/Upimg/"+folder+"/"+newfilename;
Image1.ImageUrl=wpath;
//FileUpload1.SaveAs(ipath);
Label1.Text="原始文件名"+filename+"<br>存储文件名:"+newfilename+"<br>文件大小"+size+"<br>文件类型"+type2+"<br>文件后缀"+type+"<br>文件虚拟路径"+wpath;
}
else
...{
if(!System.IO.Directory.Exists(filepath+folder))
...{//自动生成文件夹
System.IO.Directory.CreateDirectory(filepath+folder);
}
Randommyrdn=newRandom();//产生随机数
//日期,时间,随机数和后缀名
stringnewfilename=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+myrdn.Next(10000).ToString()+"."+dotname;
Image1.Visible=false;
stringwpath="Upfile/"+folder+newfilename;
FileUpload1.SaveAs(filepath+folder+"/"+newfilename);
Label1.Text="原始文件名"+filename+"<br>存储文件名:"+newfilename+"<br>文件大小"+size+"<br>文件类型"+type2+"<br>文件后缀"+type+"<br>文件虚拟路径"+wpath;
}
}
}
本文介绍了一种实现多文件上传的方法,并展示了如何通过客户端脚本预览待上传文件。此外,还提供了一个简单的文件上传实例,包括文件的自动重命名、自动创建文件夹以及文件的保存。

被折叠的 条评论
为什么被折叠?



