源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

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

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2010-7-11 13:07:31 | 显示全部楼层 |阅读模式
项目中需要使用多文件上传,上传的文件保存在磁盘文件上,文件相关信息保存在数据库里。 最终效果如下:

现贴出核心代码如下:
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;
}
}


完整代码下载
回复

使用道具 举报

1

主题

2万

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2022-8-11 22:25:38 | 显示全部楼层
hi哦和烦恼农家女
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2022-10-14 07:14:42 | 显示全部楼层
天天源码社区论坛
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-4-27 01:38:50 | 显示全部楼层
激动人心,无法言表!
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-6-3 09:07:26 | 显示全部楼层
谢谢下载来看看
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-9-8 05:37:58 | 显示全部楼层
很不错的源码论坛
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

303

积分

中级会员

Rank: 3Rank: 3

积分
303
发表于 2023-10-1 04:38:12 | 显示全部楼层
谢谢小Y分享
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

303

积分

中级会员

Rank: 3Rank: 3

积分
303
发表于 2023-10-20 07:15:38 | 显示全部楼层
下载来瞧瞧
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

124

积分

注册会员

Rank: 2

积分
124
发表于 2023-11-14 10:48:08 | 显示全部楼层
。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2024-3-2 09:11:21 | 显示全部楼层
儿童服务绯闻绯闻绯闻
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-4 08:41 , Processed in 0.159278 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表