#region 上传文件的方法
/// <summary>
/// 上传文件方法
/// </summary>
/// <param name="myFileUpload">上传控件ID</param>
/// <param name="allowExtensions">允许上传的扩展文件名类型,如:string[] allowExtensions = { ".doc", ".xls", ".ppt", ".jpg", ".gif" };</param>
/// <param name="maxLength">允许上传的最大大小,以M为单位</param>
/// <param name="savePath">保存文件的目录,注意是绝对路径,如:Server.MapPath("~/upload/");</param>
/// <param name="saveName">保存的文件名,如果是""则以原文件名保存</param>
private void Upload(FileUpload myFileUpload, string[] allowExtensions, int maxLength, string savePath, string saveName)
{
// 文件格式是否允许上传
bool fileAllow = false;
//检查是否有文件案
if (myFileUpload.HasFile)
{
// 检查文件大小, ContentLength获取的是字节,转成M的时候要除以2次1024
if (myFileUpload.PostedFile.ContentLength / 1024 / 1024 >= maxLength)
{
throw new Exception("只能上传小于2M的文件!");
}
//取得上传文件之扩展文件名,并转换成小写字母
string fileExtension = System.IO.Path.GetExtension(myFileUpload.FileName).ToLower();
string tmp = ""; // 存储允许上传的文件后缀名
//检查扩展文件名是否符合限定类型
for (int i = 0; i < allowExtensions.Length; i++)
{
tmp += i == allowExtensions.Length - 1 ? allowExtensions[i] : allowExtensions[i] + ",";
if (fileExtension == allowExtensions[i])
{
fileAllow = true;
}
}
if (fileAllow)
{
try
{
string path = savePath + (saveName == "" ? myFileUpload.FileName : saveName);
//存储文件到文件夹
myFileUpload.SaveAs(path);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
else
{
throw new Exception("文件格式不符,可以上传的文件格式为:" + tmp);
}
}
else
{
throw new Exception("请选择要上传的文件!");
}
}
#endregion
以下是测试的代码:
try
{
string[] ss = { ".jpg", ".gif" };
string path = Request.MapPath("~/upload/");
Upload(FileUpload1, ss, 1, path, "");
Label1.Text = "文件上传成功!";
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
分享到:
相关推荐
asp.net上传文件的两种方式 普通html控件 服务器控件 asp.net 上传文件 asp.net上传实例
ASP.NET上传文件的源码,最简单的上传文件的方法
解决ASP.NET上传文件大小限制解决ASP.NET上传文件大小限制
通过Flex+ASP.NET实现从HTTP通道上传文件
ASP.NET+VB.NET 上传文件 以一个用户注册页面为例
Asp.Net上传文件大小限制
asp.net操作文件的上传、读出、删除等操作!!!
asp.net使用upload控件上传图片,并可以检测文件的真正格式
neatupload 用于asp.net 上传文件 配置和使用说明百度空间上shouxin1014
基于jquery.form插件写的ASP.NET文件批量上传。
asp.net上传文件源代码 上传文件格式 多种上传文件格式
asp.net上传文件模式一 优化的上传文件
swfupload +asp.net 上传文件实例
ASP.NET多文件上传 ASP.NET多文件上传 ASP.NET多文件上传 ASP.NET多文件上传
从本地选择的文件,应用asp.net上传文件到服务器。
asp.net 上传大文件,并实现进度条显示 。 .net2005 直接运行就OK。。
本文讲的是Asp.Net中FileUpload实现文件上传示例, 属性:FileName: 获取上传的文件名 HasFile: 是否选择(存在)上传的文件 ContentLength: 获得上窜文件的大小,单位是字节(byte) 方法:Server.MapPath(): 获取服务器上
【ASP.NET编程知识】asp.net利用ashx文件实现文件的上传功能.docx
觉得不错,但是有个不足的地方,就是当我上传一个文件时把页面关闭的时候 这个文件其实还在上传着!