正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> ASP.Net资料库 关闭(快捷键alt+C)
搜索标签: 文件上传
.net 实现多文件上传
[阅读次数:619次]  [发布时间:2011年8月11日]
.CS的代码如下

protected bool upMorefile()
{

//遍历File表单元素

System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
//状态信息

System.Text.StringBuilder strMsg = new System.Text.StringBuilder("成功上传的文件信息分别为:<hr color=red>");
int
fileCount;
int filecount =
files.Count;


try

{
for (fileCount = 0; fileCount < files.Count; fileCount++
)
{
//定义访问客户端上传文件的对象

System.Web.HttpPostedFile postedFile = files[fileCount];
string FileType = postedFile.ContentType.ToString();//获取要上传的文件类型,验证文件头


string fileName, fileExtension;
//取得上传得文件名

fileName = System.IO.Path.GetFileName(postedFile.FileName);
//取得文件的扩展名

fileExtension = System.IO.Path.GetExtension(fileName);

//在上传文件不为空的情况下,验证文件名以及大小是否符合,如果不符合则不允许上传

if (((FileType == "text/plain" && fileExtension.ToLower() == ".txt") || (FileType == "application/x-zip-compressed" && fileExtension.ToLower() == ".zip") || (FileType == "application/octet-stream" && fileExtension.ToLower() == ".rar"))&&postedFile.ContentLength/1024<=1024)
{//在这里通过检查文件头与文件名是否匹配 从而限制了文件上传类型 注:可上传的类型有TXT,ZIP,RAR,且大小只能为1M一下

if (fileName !=
String.Empty)
{
fileName
= RandomFileName() +
fileExtension;

//上传的文件信息

strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
strMsg.Append(
"客户端文件地址:" + postedFile.FileName + "<br>"
);
strMsg.Append(
"上传文件的文件名:" + fileName + "<br>"
);
strMsg.Append(
"上传文件的大小为:" + postedFile.ContentLength + "字节<br>"
);
strMsg.Append(
"上传文件的扩展名:" + fileExtension + "<br><hr color=red>"
);
//保存到指定的文件夹

postedFile.SaveAs(Server.MapPath("public_file/" + UserName + "/") + fileName);
fileName
= ""
;

}

}

else
{
strStatus.Text
+= ""+(fileCount+1)+"个文件不符合要求<br/> "
;

}


}


strStatus.Text
+= strMsg.ToString();
return true
;
}

catch (System.Exception error)
{
strStatus.Text
=
error.Message;
return false
;

}

}



protected void Upload_Click(object sender, EventArgs e)
{
strStatus.Text
= "";//讲提示信息清空

upMorefile();//调用上传类

}


public string RandomFileName()
{//返回随机数的类
string filename = "";
string r1 = ""
;
string r2 = ""
;
string r4 = ""
;
Random random
= new
Random();
r1
= ((char)random.Next(65, 90)).ToString();//大写字母

r2 = ((char)random.Next(97, 122)).ToString();//小写字母
r4 = random.Next(10000, 999999).ToString();
filename
= DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + r1 + r4 + r2 + r1 + r4 +
r1;

return
filename;

}


前台代码如下

<script language="JavaScript">
function addFileControl()
{
var str = '<INPUT type="file" NAME="File">
'
document.getElementById('FileCollection').insertAdjacentHTML(
"beforeEnd"
,str)
}

</script>


<asp:Panel ID="PanelFileManage" runat="server" Width="100%">

<P id="FileCollection"><INPUT type="file" name="File">&nbsp;</P>
<p align="center" style="color:Red">
允许上传的类型为:ZIP,RAR,TXT,大小为1M以下
</p>
<P align="center"><input onclick="addFileControl()" type="button" value="增加(File)">
<asp:button id="Upload" Runat="server" Text="上传" Width="56px" OnClick="Upload_Click"></asp:button>
<input style="WIDTH: 56px; HEIGHT: 24px" onclick="this.form.reset()" type="button" value="重置">
</P>
<P align="center"><asp:label id="strStatus" runat="server" BorderColor="White" BorderStyle="None" Width="500px"
Font-Size
="9pt" Font-Bold="True" Font-Names="宋体"></asp:label></P>

</asp:Panel>

并且一定要注意在form中添加一个enctype项,才可以使用。如下:

<form id="form1" runat="server" enctype="multipart/form-data">




本页地址: [复制地址]
该页内容非本站原创 收藏自:http://www.cnblogs.com/mgod/archive/2007/04/24/725393.aspx
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·js替换所有回车换行符
·QQ/MSN在线交流代码
·如何取消键盘上的一些快捷键...
·IE弹出“中国工商银行防钓鱼...
·win7声音小的解决方法
·强制两端对齐的函数或者CSS...
·webdav漏洞的利用
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·js验证手机号码格式
·天诺时空技术技术论坛
·JS展开和收缩效果(二)
·本地计算机上的 MSSQLSERVE...
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。