asp.net html控件的File控件实现多文件上传实例分享

 更新时间:2013年02月17日 11:57:51   作者:  
asp.net中html控件的File控件实现多文件上传简单实例,开发工具vs2010使用c#语言,感兴趣的朋友可以了解下,必定是多文件上传值得学习,或许本文所提供的知识点对你有所帮助
asp.net多文件上传使用html控件的File控件,在form中就需要加入【 enctype="multipart/form-data"】。
up3.aspx文件代码
复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="up3.aspx.cs" Inherits="up3" %>
<!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 runat="server">
<title></title>
<script language="javascript" type="text/javascript">
function addFile() {
var odiv = document.getElementById("MyFile");
var str = "<div><input name='File' type='file' /></div>";
odiv.insertAdjacentHTML("beforeEnd", str);
}
function resetFile() {
var odiv = document.getElementById("MyFile");
odiv.innerHTML = "<div><input name='File' type='file' /></div>";
}
</script>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/form-data">
<input type="button" value="增加" onclick="addFile()" />
<input type="button" value="重置" onclick="resetFile()" />
<div id="MyFile">
<div><input name="File" type="file" /></div>
</div>
<asp:Button runat="server" Text="上传" ID="Button1" OnClick="Button1_Click" BorderColor="Desktop"
BorderWidth="1px" Height="20px" Width="60px"></asp:Button>
<div>
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>

up3.aspx.cs文件代码
复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
public partial class up3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string upPath = "/up/"; //上传文件路径
int upLength = 5; //上传文件大小
string upFileExtName = "|bmp|jpg|jpeg|png|gif|";
HttpFileCollection _files = System.Web.HttpContext.Current.Request.Files;
int flag = _files.Count;
int flagN = 0;
int flagE = 0;
int flagEE = 0;
string flagEEstr = "";
for (int i = 0; i < _files.Count; i++)
{
string name = _files[i].FileName;
FileInfo fi = new FileInfo(name);
string oldfilename = fi.Name;
string scExtension = fi.Extension.ToLower();
string fileName = DateTime.Now.ToString("yyyyMMddhhmmssfff") + fi.Extension; // 文件名称,当前时间(yyyyMMddhhmmssfff)
string webFilePath = Server.MapPath(upPath) + fileName; // 服务器端文件路径
if (upFileExtName.IndexOf(scExtension.Replace(".", "")) == -1)
{
flagEE = flagEE + 1;
flagEEstr = flagEEstr + "第" + (i + 1) + "个文件,文件名[" + oldfilename + "],文件类型不符合!";
continue;
}
if ((fi.Length / (1024 * 1024)) > upLength)
{
flagEE = flagEE + 1;
flagEEstr = flagEEstr + "第" + (i + 1) + "个文件,文件名[" + oldfilename + "],超出" + upLength + "M大小限制!";
continue;
}
try
{
_files[i].SaveAs(webFilePath);
}
catch (Exception ex)
{
flagEE = flagEE + 1;
flagEEstr = flagEEstr + "第" + (i + 1) + "个文件,上传异常【"+ex.Message+"】";
}
}
Label1.Text = "总文件【" + flag + "】,上传成功文件【" + flagN + "】,异常文件【" + (flagE + flagEE) + "】【" + flagEEstr + "】";
}
}

相关文章

  • 如何在ASP.NET Core 的任意类中注入Configuration

    如何在ASP.NET Core 的任意类中注入Configuration

    这篇文章主要介绍了如何在 ASP.NET Core 的任意类中注入Configuration ,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下
    2021-04-04
  • ASP.NET网站导航及导航控件如何使用

    ASP.NET网站导航及导航控件如何使用

    这篇文章主要介绍了ASP.NET网站导航及导航控件如何使用,需要的朋友可以参考下
    2015-09-09
  • 关于多对多关系表无法更新与插入的问题

    关于多对多关系表无法更新与插入的问题

    这篇文章主要介绍了关于多对多关系表无法更新与插入的问题 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 一个简单的ASP.NET Forms 身份认证的实例方法

    一个简单的ASP.NET Forms 身份认证的实例方法

    当访问默认首页default.aspx时,会自动跳转到login.aspx页面上请求登录,随便输入用户名和密码,点击“登录”按钮,会回到首页,并显示当前登录的用户名。
    2013-07-07
  • ASP.NET Core实现动态获取文件并下载

    ASP.NET Core实现动态获取文件并下载

    这篇文章介绍了ASP.NET Core实现动态获取文件并下载的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • C#反射技术的简单操作(读取和设置类的属性)

    C#反射技术的简单操作(读取和设置类的属性)

    反射的作用想必大家都知道了吧,少量属性的自动化操作手动添加几下当然是没有问题的,但是属性数量较多的时候敲起这些繁锁的代码可以困了,再说对扩展和维护性造成很多的不遍,以下代码中如不能直接使用请添加using System.Text;的引用。
    2011-01-01
  • 告别ADO.NET实现应用系统无缝切换的烦恼(总结篇)

    告别ADO.NET实现应用系统无缝切换的烦恼(总结篇)

    说起ADO.NET,就扯上了数据库访问类库了,现在的每个项目的数据库访问类应该说都很强的了,经常就听到说我的我们的数据库访问类怎么怎么强大而且支持多数据库,现在的大家做的项目里用的数据库访问类库我想也都是支持多数据库吧,支持到什么程度我就不知道了
    2009-11-11
  • HttpWebRequest的常见错误使用TcpClient可避免

    HttpWebRequest的常见错误使用TcpClient可避免

    有时使用HttpWebRequest对象会出现错误有三种服务器提交了协议冲突/基础连接已经关闭:连接被意外关闭/无法发送具有此谓词类型的内容正文,感兴趣的朋友可以参考下本文
    2013-02-02
  • 详解使用DotNet CLI创建自定义的WPF项目模板

    详解使用DotNet CLI创建自定义的WPF项目模板

    这篇文章主要介绍了详解使用DotNet CLI创建自定义的WPF项目模板,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • C# ToString格式大全

    C# ToString格式大全

    需要将其它类型的变量,转换为字符串类型的一些常见方法与属性。
    2008-12-12

最新评论