`

ASP.NET上传文件的方法

    博客分类:
  • .NET
阅读更多
 #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编程知识】asp.net单文件带进度条上传的解决方案.docx

    在本文中,我们使用ASP.NET缓存机制来缓存文件上传的信息,然后使用ajax方法来获取缓存的信息,并将其显示在进度条上。 知识点3:使用Guid唯一标识文件上传 在本文中,我们使用Guid来唯一标识文件上传。Guid是一个...

    asp.net 超大文件上传,带进度条源码,亲测能用

    在处理大文件上传时,ASP.NET需要特别的处理,因为默认情况下,它对上传文件的大小有限制,通常为4MB左右。针对超大文件上传的需求,开发者通常需要采取一些策略来优化和扩展这一功能,同时加入进度条显示可以提升...

    asp.net 批量上传文件

    在ASP.NET中实现批量文件上传是一项常见的需求,尤其在处理大量用户数据时。在这个场景下,我们可以使用jQuery库中的`jquery.form`插件来增强页面的交互性,并结合ASP.NET后端技术,实现异步、无刷新的批量文件上传...

    Flex+ASP.NET上传文件

    在这个“Flex+ASP.NET上传文件”的场景中,我们主要探讨的是如何结合这两种技术来实现文件通过HTTP协议进行上传。以下是相关的关键知识点: 1. **Flex前端开发**:在Flex中,我们可以使用FileReference类来处理文件...

    ASP.NET 上传文件并验证文件真正的类型

    在ASP.NET中,上传文件是一项常见的任务,尤其是在处理用户提交的图像时。在这个场景中,我们不仅需要上传文件,还要确保文件的安全性,避免恶意用户上传非图片类型的文件。"ASP.NET 上传文件并验证文件真正的类型...

    ASP.NET+VB.NET 上传文件

    在ASP.NET和VB.NET环境中,实现文件上传功能是常见的需求,尤其在用户注册或信息提交时,用户可能需要上传个人照片、简历等文件。本文将详细介绍如何利用ASP.NET和VB.NET来创建一个简单的文件上传系统。 首先,我们...

    ASP.NET MVC 文件管理功能Demo

    ASP.NET MVC 文件管理功能Demo是基于ASP.NET MVC框架和Easy-UI前端库开发的一个实践项目,旨在实现对本地文件系统的全面操作。这个Demo涵盖了多种文件操作功能,包括上传、下载、复制、粘贴、压缩以及重命名等,使得...

    asp.net上传、读出、删除文件

    在ASP.NET中,文件操作是常见的任务,包括文件的上传、读取和删除。这些功能在网站应用中尤其重要,例如用户需要上传个人照片、下载文档或者清除不再需要的文件。接下来,我们将深入探讨如何在ASP.NET环境中实现这些...

    【ASP.NET编程知识】ASP.NET Core文件上传与下载实例(多种上传方式).docx

    ASP.NET Core 文件上传与下载实例(多种上传方式) 知识点1: ASP.NET Core 文件上传与下载实例 ASP.NET Core 2.0 已经很成熟,可以使用模型绑定上传文件。官方文档提供了相关的示例代码,可以作为参考。 知识点2:...

    ASP.NET通过HTML的上传文件标签来上传文件

    在ASP.NET中处理文件上传是常见的需求,尤其是在用户需要提交图片、文档或其他数据文件时。这篇博客文章“ASP.NET通过HTML的上传文件标签来上传文件”将引导我们了解如何在ASP.NET环境中实现文件上传功能。 首先,...

    一个很好用的asp.net上传控件

    在本文中,我们将深入探讨“一个很好用的ASP.NET上传控件”,了解其特点、使用方法以及如何在项目中集成和操作。 首先,这个控件的最大亮点在于它可以同时上传多达十个文件,这大大提高了用户交互性和效率。在传统...

    asp.net上传模块

    ASP.NET上传模块是ASP.NET应用程序中的一个重要组成部分,它允许用户通过网页将文件上传到服务器。在Web开发中,文件上传功能常用于用户提交照片、文档或其他类型的数据。在这个场景中,我们关注的是一个专为ASP.NET...

    解决ASP.NET上传文件大小限制

    解决 ASP.NET 上传文件大小限制 在 ASP.NET 中,默认的文件上传大小限制为 2M,但是这限制了我们在实际项目开发过程中的文件上传需求。因此,我们需要解决 ASP.NET 上传文件大小限制的问题。本文将从四个方面对解决...

    asp.net上传大文件

    标题“asp.net上传大文件”表明我们将讨论如何在ASP.NET框架下处理大容量的文件上传。描述提到,不仅可以上传无限大小的文件,还能实现多文件选择,并且可以设定上传文件的大小限制,这涉及到了文件上传的性能优化和...

    基于ASP.net的企业文件管理系统源码.zip

    2. **文件上传与下载**:使用ASP.NET的HttpPostedFileBase类处理文件上传,同时通过HTTP响应流提供文件下载。 3. **文件存储**:文件可能存储在服务器的文件系统、数据库(BLOB存储)或云存储服务(如Azure Blob ...

    asp.net大文件上传(批量)

    ASP.NET大文件上传批量处理是Web开发中一个重要的技术需求,尤其在处理用户需要上传大量或大体积文件的场景下。传统的ASP.NET框架在默认情况下对文件上传大小有所限制,通常为4MB左右,这在处理大文件时显然是不够的...

    ASP.NET Web API 接收文件上传

    要实现ASP.NET Web API文件上传,你需要创建一个可以接收多部分/FormData类型的控制器方法。`HttpPostedFileBase`类是.NET Framework提供的,用于处理上传文件的接口。以下是一个简单的示例: ```csharp [HttpPost]...

    asp.net+flash批量上传

    asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件上传 批量上传 上传代码 上载asp.net上传 多文件...

    基于ASP.NET文件上传、下载的网络硬盘系统 源码

    【ASP.NET文件上传与下载系统】是一个典型的Web应用程序,它允许用户通过网络进行文件的上传和下载操作。这个系统基于微软的ASP.NET框架构建,利用了ASP.NET的强大功能和高效性能,为用户提供了一种安全、便捷的方式...

    asp.net大文件上传源码

    ASP.NET大文件上传是Web开发中的一个重要话题,尤其是在处理用户可能需要上传大量数据或大型多媒体文件的场景。本文将深入探讨ASP.NET实现大文件上传的原理、相关技术以及提供的源码解析。 首先,ASP.NET是一种微软...

Global site tag (gtag.js) - Google Analytics