服务器之家

服务器之家 > 正文

asp.net 多文件上传,兼容IE6/7/8,提供完整代码下载

时间:2019-09-07 15:27     来源/作者:asp.net之家

现贴出核心代码如下: 
aspx里的代码: 

复制代码代码如下:


<div style="text-align: center"> 
<div style="width: 200px;"> 
<input type="file" size="50" name="File" /> 
<span id="upload"></span> 
<br /> 
<input type="button" name="button" value="添加文件" onclick="addInput()"> 
<input type="button" name="button" value="删除文件" onclick="deleteInput()"> 
</div> 
<div style="margin: 10px 0 10px 0;width: 200px;"> 
<asp:Button runat="server" Text="上传" ID="btnUpload" OnClick="btnUpload_Click"></asp:Button><br/> 
<asp:Label ID="strStatus" runat="server"></asp:Label> 
</div> 
</div> 


在添加文件和删除文件里调用了Javascript,代码如下: 

复制代码代码如下:


<script type="text/javascript"> 
var attachname = "uploadfile"; 
var i = 1; 
function addInput() { 
if (i > 0) { 
var attach = attachname + i; 
if (createInput(attach)) 
i = i + 1; 


function deleteInput() { 
if (i > 1) { 
i = i - 1; 
if (!removeInput()) 
i = i + 1; 


function createInput(nm) { 
var aElement = document.createElement("input"); 
aElement.name = nm; 
aElement.id = nm; 
aElement.type = "file"; 
aElement.size = "50"; 
if (document.getElementById("upload").appendChild(aElement) == null) 
return false; 
return true; 

function removeInput(nm) { 
var aElement = document.getElementById("upload"); 
if (aElement.removeChild(aElement.lastChild) == null) 
return false; 
return true; 

</script> 




后台响应保存文件的操作,保存文件关键的一句是要读取到文件列表, 
//遍历File表单元素 
HttpFileCollection files = HttpContext.Current.Request.Files; 
上传以后保存文件的代码如下: 

复制代码代码如下:


protected void btnUpload_Click(object sender, EventArgs e) 

//遍历File表单元素 
HttpFileCollection files = HttpContext.Current.Request.Files; 
System.Text.StringBuilder strMsg = new StringBuilder("<br/>"); 
strMsg.Append("上传的文件分别是:</br>"); 
try 

for (int iFile = 0; iFile < files.Count; iFile++) 

//检查文件扩展名字 
HttpPostedFile postedFile = files[iFile]; 
string fileName, fileExtension; 
fileName = System.IO.Path.GetFileName(postedFile.FileName); 
if (fileName != "") 

fileExtension = System.IO.Path.GetExtension(fileName); 
strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br/>"); 
strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br/>"); 
strMsg.Append("上传文件的文件名:" + fileName + "<br/>"); 
strMsg.Append("上传文件的扩展名:" + fileExtension + "<br/>"); 
strMsg.Append("上传文件的大小:" + postedFile.ContentLength + "<br/>"); 
//可扩展功能: 
//保存文件时可以设置保存目录 
//可以重命名文件保存 
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName); 


strStatus.Text = strMsg.ToString(); 

catch (System.Exception Ex) 

strStatus.Text = Ex.Message; 



完整代码下载

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-07-24
返回顶部