自我感觉封装得还不错!!!
代码如下:
#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;
}
以前一直没有认真的学习异常处理,今天弄了一下还发现异常处理还蛮好的。。。起码代码量上感觉比if..else..少。。。呵呵。。。
分享到:
相关推荐
### ASP.NET 文件上传知识点 #### 一、ASP.NET文件上传概述 在ASP.NET应用程序中,文件上传是一项常用的功能。用户可以将本地计算机上的文件发送到服务器进行存储或处理。这通常通过HTML表单中的`...
本文将详细介绍如何利用ASP.NET和VB.NET来创建一个简单的文件上传系统。 首先,我们需要理解ASP.NET中的文件上传组件`<asp:FileUpload>`。这个控件允许用户从他们的计算机选择文件,并将其数据发送到服务器。在HTML...
ASP.NET MVC 文件管理功能Demo是基于ASP.NET MVC框架和Easy-UI前端库开发的一个实践项目,旨在实现对本地文件系统的全面操作。这个Demo涵盖了多种文件操作功能,包括上传、下载、复制、粘贴、压缩以及重命名等,使得...
ASP.NET上传模块是ASP.NET应用程序中的一个重要组成部分,它允许用户通过网页将文件上传到服务器。在Web开发中,文件上传功能常用于用户提交照片、文档或其他类型的数据。在这个场景中,我们关注的是一个专为ASP.NET...
ASP.NET多文件上传是Web开发中的一个重要功能,它允许用户一次性上传多个文件,极大地提高了用户交互体验。在ASP.NET框架中,实现这个功能通常涉及到HTML控件、服务器端代码以及数据库存储等多个方面。以下是对这一...
在处理文件上传时,我们需要创建一个API控制器,该控制器包含一个接受文件的Action方法。 对于原生JavaScript的文件上传,我们可以使用HTML5的`FormData`对象和`XMLHttpRequest`。以下是一个基本的示例: ```...
总的来说,"asp.net中文件的上传下载,删除"是一个基础但关键的Web开发技能,而"FileUpDownDelete"工具包则为开发者提供了一站式的解决方案,使得处理文件操作变得更为轻松。在你的项目中合理利用这样的工具,可以...
ASP.NET可以通过路由或者控制器方法来处理文件下载请求,确保只有合法的请求才能访问到文件。 综上所述,实现ASP.NET多文件上传涉及前端的文件选择和管理、后端的文件接收和处理、以及安全措施的实施。这一过程不仅...
在ASP.NET中实现批量文件上传并同时展示进度条效果,是一项常见的需求,特别是在处理大量数据时,用户界面的反馈能够显著提升用户体验。本实例通过结合ASP.NET、Ajax以及ExtJS库,提供了一种高效且直观的解决方案。 ...
例如,使用AJAX技术结合jQuery File Upload插件,或者利用Asp.net MVC的Ajax.BeginForm和jQuery的Ajax方法,可以实现在不刷新页面的情况下上传文件。 5. **进度条显示** 大文件上传时,提供进度条显示可以提升用户...
"asp.net大文件上传组件+源程序.rar"这个压缩包文件很可能是为了提供一个解决方案,包含了一个用于ASP.NET 2.0的大文件上传组件以及相关的源代码。 首先,让我们详细了解一下大文件上传的基本概念。在传统的HTTP...
在Asp.NET中进行大文件上传是一个常见的需求,但在默认情况下,Asp.NET存在上传文件大小的限制,并且无法提供上传进度。这个问题在.NET 1.1版本尤为明显,因为那时上传的文件会被完全加载到服务器内存中。然而,在...
在ASP.NET中,文件上传和下载涉及到多个方面,包括配置文件的调整、文件信息的封装、文件格式的验证、文件内容的处理以及与远程服务器的交互。理解并熟练掌握这些技术对于开发功能完善的Web应用至关重要。在实际项目...
标题中的 "[上传下载]ASP.NET同时上传多个文件_aspxcnup" 暗示了这是一个关于ASP.NET平台下实现多文件上传功能的源代码。在ASP.NET中,开发者经常需要处理用户通过网页上传文件的需求,尤其是当用户需要一次性上传多...
- 在服务器端,创建一个ASP.NET MVC Action或Web API控制器方法来接收上传请求。 - 读取HTTP请求的InputStream,处理文件数据。 - 随着文件读取的进度,可以返回百分比完成的信息,这需要配合前端的AJAX回调来...
在处理上传的文件时,ASP.NET上传控件会生成一个或多个FileUpload对象,每个对象代表一个上传的文件。开发者可以通过编程方式访问这些对象,获取文件信息,如文件名、大小、类型,并将其保存到服务器的特定位置,...
ASP.NET 是一个强大的Web开发框架,由微软公司推出,用于构建动态网站、Web应用程序和Web服务。在ASP.NET MVC(Model-View-Controller)模式下,开发者可以更加灵活地处理项目结构和业务逻辑。当我们面临大文件上传...
在ASP.NET中,多文件上传是一项常见的功能,用于允许用户一次性选择并上传多个文件到服务器。这个实例将向我们展示如何使用C#编程语言在ASP.NET环境中实现这一功能。以下是一份详细的步骤和知识点解析: 1. **HTML...
在ASP.NET框架下,为了方便开发者集成和管理,通常会对其进行封装,形成一个可以直接在ASP.NET页面上使用的控件。这个"UEditor的asp.net封装控件"就是这样一个工具,它简化了UEditor在.NET环境下的集成过程,让...
结合上述方法,你可以创建一个完整的上传文件功能,既能限制文件大小,又能确保上传过程的安全性。在实际项目中,通常会结合多种方法以提高安全性。`upload`这个文件可能是示例代码或者相关资源,包含了一个实现上述...