实现ASP.NET多文件上传程序代码
程序员文章站
2022-05-22 14:16:45
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
}
}