ASP.NET实现多文件上传
类别:编程学习 浏览量:385
时间:2014-7-11 ASP.NET实现多文件上传
ASP.NET实现多文件上传一、固定数量的多文件上传
界面
上传的实现代码
//单击执行多文件上传
protected void btnFileUpload_Click(object sender, EventArgs e)
{
//判断是否存在上传文件
/*bool flag = false; ;
bool[] b = { FileUpload1.HasFile, FileUpload2.HasFile, FileUpload3.HasFile };
foreach (bool item in b)
{
if (item)
{
flag = true;
}
}*/
//判断是否存在上传文件
if (!FileUpload1.HasFile && !FileUpload2.HasFile && !FileUpload3.HasFile)
{
lblMessage.Text = "至少选择一个上传的文件!";
}
else
{
/*提供对客户端上载文件的访问,并组织这些文件,它是一个文件的集合.
Request.Files获取客户端上载文件的集合*/
HttpFileCollection filecoll = Request.Files;
//循环上传文件的集合,并上传每一个文件
for (int i = 0; i < filecoll.Count; i++)
{
/*得到上传的单个文件,
* 通过HttpPostedFile实例来处理单个上传文件的访问*/
HttpPostedFile myfile = filecoll[i];
//得到上传文件大小判断文件是否存在
if (myfile.ContentLength > 0)
{
if (myfile.ContentLength < 10485760)
{
try
{
//得到上传的文件名
myfile.SaveAs(Page.MapPath("~/Files/") +
myfile.FileName.Substring(myfile.FileName.LastIndexOf(@"\\") + 1));
//这里得到上传文件名的方式还可以是:
/* myfile.SaveAs(Page.MapPath("~/Files/")
+ System.IO.Path.GetFileName(myfile.FileName));*/
lblMessage.Text = "文件上传成功!";
}
catch (Exception)
{
lblMessage.Text = "上传文件发生错误!";
}
}
else
{
lblMessage.Text = "上传文件不能大于10MB";
}
}
}
}
}
二、动态的添加多文件上传:
界面
前端代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultiFileUpload.aspx。cs"
Inherits="MultiFileUpload" %>
<!DOCTYPE>
<html>
<head runat="server">
<title>多文件上传测试</title>
<script type="text/javascript">
function addFile() {
var li = document.createElement("li");
var f = document.createElement("input");
f.setAttribute("type", "file")
f.setAttribute("name", "File")
f.setAttribute("size", "50")
li.appendChild(f)
var d = document.createElement("input");
d.setAttribute("type", "button")
d.setAttribute("onclick", "deteFile(this)");
d.setAttribute("value", "移除")
li.appendChild(d)
document.getElementById("_container").appendChild(li);
}
function deteFile(o) {
while (o.tagName != "li") o = o.parentNode;
o.parentNode.removeChild(o);
}
</script>
</head>
<body>
<form id="form1" runat="server" method="post" enctype="multipart/form-data">
<h3>多文件上传</h3>
用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<li id="_container">
<input type="file" size="50" name="File" />
</li>
<li>
<input type="button" value="添加文件(Add)" onclick="addFile()" />
</li>
<li style="padding:10px 0">
<asp:Button runat="server" Text="开始上传" ID="UploadButton"
onclick="UploadButton_Click"></asp:Button>
</li>
<li>
<asp:Label ID="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt"
Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
</li>
</form>
</body>
</html>
后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class MultiFileUpload : System.Web.UI.Page
{
protected void UploadButton_Click(object sender, EventArgs e)
{
///'遍历File表单元素
HttpFileCollection files = HttpContext.Current.Request.Files;
/// '状态信息
System.Text.StringBuilder strMsg = new System.Text.StringBuilder("您输入的用户名是:" + TextBox1.Text + "<br/>");
strMsg.Append("上传的文件分别是:<hr color='red'/>");
try
{
for (int iFile = 0; iFile < files.Count; iFile++)
{
标签:上传
您可能感兴趣
- cdn上传加速(云服务器搭建网站需要用CDN加速吗?)
- js怎么上传压缩图片(如何用JS有效的压缩图片)
- php脚本通过文件路径批量上传文件(php遍历目录下文件并按修改时间排序操作示例)
- python把文件上传服务器(Python 实现两个服务器之间文件的上传方法)
- vue图片怎么上传服务器(vue-cropper组件实现图片切割上传)
- 阿里云ecs实例详解(阿里云ecs服务器 修改php上传最大限制的方法)
- ftp上传文件权限设置(FTP二进制上传是什么意思?设置并使用二进制BINARY上传?)
- docker配置阿里云镜像(Docker镜像的制作,上传,拉取和部署操作利用阿里云)
- docker快速打包部署脚本(使用脚本一键打包并上传docker镜像的实现代码)
- laravel新增数据表(laravel实现上传图片的两种方式小结)
- vue如何excel表格上传功能(Vue + iView实现Excel上传功能的完整代码)
- vue3 动态生成组件(如何在vue3.0+中使用tinymce及实现多图上传文件上传公式编辑功能)
- dedecms上传附件大小限制(dedecms删除文章同时也删除附件的修改方法)
- 宝塔面板怎么导入网站(宝塔面板如何设置文件上传大小)
- 织梦数据库连接失败是什么意思(织梦上传服务器后数据连接失败问题的解决方法)
- vuephp后台开发框架(Vue+thinkphp5.1+axios实现文件上传)
- 缅甸旅游攻略(缅甸旅游攻略必去景点推荐)
- 《庆余年2》新消息,原班人马,肖战特别出演,这才是最好的安排(庆余年2新消息原班人马)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
热门推荐
- css3实现120度的箭头(使用css实现任意大小、任意方向和任意角度的箭头示例)
- 什么是web服务器(什么是网站服务器?服务器是做什么用的?)
- 香港云服务器购买平台(游戏企业选择香港云服务器的理由)
- vue点击事件动态禁用(vue开发移动端使用better-scroll时click事件失效的解决方案)
- jQuery邮箱自动补全
- boostrap弹幕效果(boostrap modal 闪现问题的解决方法)
- ASP.NET cache缓存的用法
- python读取word的表格(Python使用reportlab模块生成PDF格式的文档)
- dedecms专用环境搭建简单工具(dedecms 搜索时出现“SphinxClient类找不到”解决方法)
- echarts柱状图颜色设置(Echarts基本入门之柱状图、折线图通用配置)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9