欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

实现ASP.NET多文件上传程序代码

程序员文章站 2022-12-02 12:25:56
upload.aspx 复制代码 代码如下: <%@ page language="c#" codebehind="upload.aspx.cs" autoevent...

upload.aspx

复制代码 代码如下:

<%@ page language="c#" codebehind="upload.aspx.cs" autoeventwireup="false" inherits="webportal.upload" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>多文件上传</title>
<script language="javascript">
function addfile()
{
var str = '<input type="file" size="50" name="file">'
document.getelementbyid('myfile').insertadjacenthtml("beforeend",str)
}
</script>
</head>
<body>
<form id="form1" method="post" runat="server" enctype="multipart/form-data">
<div align="center">
<h3>多文件上传</h3>
<p id="myfile"><input type="file" size="50" name="file"></p>
<p>
<input type="button" value="增加(add)" onclick="addfile()">
<input onclick="this.form.reset()" type="button" value="重置(reset)">
<asp:button runat="server" text="开始上传" id="uploadbutton"></asp:button>
</p>
<p>
<asp:label id="strstatus" runat="server" font-names="宋体" font-bold="true" font-size="9pt"
width="500px" borderstyle="none" bordercolor="white"></asp:label>
</p>
</div>
</form>
</body>
</html>

upload.aspx.cs
复制代码 代码如下:

using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
namespace webportal
{
/// <summary>
/// upload 的摘要说明。
/// 实现多文件上传
/// </summary>
public class upload : system.web.ui.page
{
protected system.web.ui.webcontrols.button uploadbutton;
protected system.web.ui.webcontrols.label strstatus;
private void page_load(object sender, system.eventargs e)
{
/// 在此处放置用户代码以初始化页面
if (this.ispostback) this.saveimages();
}
private boolean saveimages()
{
///'遍历file表单元素
httpfilecollection files = httpcontext.current.request.files;
/// '状态信息
system.text.stringbuilder strmsg = new system.text.stringbuilder();
strmsg.append("上传的文件分别是:<hr color=red>");
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><hr>");
///'可根据扩展名字的不同保存到不同的文件夹
///注意:可能要修改你的文件夹的匿名写入权限。
postedfile.saveas(system.web.httpcontext.current.request.mappath("images/") + filename);
}
}
strstatus.text = strmsg.tostring();
return true;
}
catch(system.exception ex)
{
strstatus.text = ex.message;
return false;
}
}
#region web 窗体设计器生成的代码
override protected void oninit(eventargs e)
{
//
// codegen: 该调用是 asp.net web 窗体设计器所必需的。
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void initializecomponent()
{
this.id = "upload";
this.load += new system.eventhandler(this.page_load);
}
#endregion
}
}