`

文件上传在ASP.NET中的实现

 
阅读更多

1、使用FileUpload控件

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Study_FileUpload1.aspx.cs" Inherits="StudyFromNow.Study_FileUpload1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>上传-FileUpload</title>
</head>
<body>
    <form id="Form1" runat="server">
        <div>
            <fieldset style="width: 290px">
                <legend>FileUpload控件</legend>
                <br />
                <asp:FileUpload ID="FileUpload1" runat="server" />
                <asp:Button ID="BtnUpload" runat="server" Text="上传" OnClick="BtnUpload_Click" />
                <hr />
                <asp:Label ID="lblMsg" runat="server" ForeColor="red" /><br />
                <asp:Label ID="lblMsg2" runat="server" />
            </fieldset>
        </div>
    </form>
</body>
</html>

 

 

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace StudyFromNow
{
    public partial class Study_FileUpload1 : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void BtnUpload_Click(object sender, EventArgs e)
        {
            bool isAllowed = false;
            string destPath = Server.MapPath("~/Temp/");
            if (FileUpload1.HasFile)
            {
                String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                String[] allowedExtensions = { ".gif", ".png", ".bmp", ".jpg" };
                for (int i = 0; i < allowedExtensions.Length; i++)
                {
                    if (fileExtension == allowedExtensions[i])
                    {
                        isAllowed = true;
                    }
                }
            }
            if (isAllowed)
            {
                try
                {
                    FileUpload1.SaveAs(destPath + FileUpload1.FileName);
                    lblMsg.Text = "文件上传成功.";
                    lblMsg2.Text = "<b>原文件路径:</b>" + FileUpload1.PostedFile.FileName + "<br />" +
                                  "<b>文件大小:</b>" + FileUpload1.PostedFile.ContentLength + "字节<br />" +
                                  "<b>文件类型:</b>" + FileUpload1.PostedFile.ContentType + "<br />";
                }
                catch (Exception ex)
                {
                    lblMsg.Text = "文件上传不成功.";
                }
            }
            else
            {
                lblMsg.Text = "只能够上传图片文件.";
            }
        }
    }
}

 

 

2、使用 input  type="file"

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Study_FileUpload2.aspx.cs"
    Inherits="StudyFromNow.Study_FileUpload2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>文件上传-INPUT</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <fieldset>
            <legend>文件上传-INPUT</legend>
            <input type="file" id="UploadFile" name="UploadFile" runat="server" />
            <br />
            <asp:Button ID="btn_upload" runat="server" Text="上传" OnClick="btn_upload_Click" />
            <hr />
            <asp:Label ID="lblMsg" runat="server" ForeColor="red" /><br />
            <asp:Label ID="lblMsg2" runat="server" />
        </fieldset>
    </div>
    </form>
</body>
</html>

 

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace StudyFromNow
{
    public partial class Study_FileUpload2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btn_upload_Click(object sender, EventArgs e)
        {


            if (UploadFile.PostedFile.FileName.Trim() != "")
            {

                bool isAllowed = false;
                isAllowed = fileChecked(UploadFile);
                string destPath = Server.MapPath("~/Temp/");
                string fileName = UploadFile.PostedFile.FileName;
                fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);

                if (isAllowed)
                {
                    try
                    {
                        UploadFile.PostedFile.SaveAs(destPath + fileName);

                        lblMsg.Text = "文件上传成功.";
                        lblMsg2.Text = "<b>原文件路径:</b>" + UploadFile.PostedFile.FileName + "<br />" +
                                      "<b>文件大小:</b>" + UploadFile.PostedFile.ContentLength + "字节<br />" +
                                      "<b>文件类型:</b>" + UploadFile.PostedFile.ContentType + "<br />";
                    }
                    catch (Exception ex)
                    {
                        lblMsg.Text = "文件上传不成功.";

                    }

                }
                else
                {
                    lblMsg.Text = "只能够上传图片文件.";
                }

            }


        }

        private bool fileChecked(HtmlInputFile UploadFile)
        {
            bool isAllowed = false;
            string fileExtension = System.IO.Path.GetExtension(UploadFile.PostedFile.FileName.Trim());
            string[] allowedExtenstions = { ".gif", ".png", ".bmp", ".jpg" };

            for (int i = 0; i < allowedExtenstions.Length; i++)
            {

                if (fileExtension == allowedExtenstions[i])
                {
                    isAllowed = true;
                }
                else
                {
                    isAllowed = false;
                }

            }
            return isAllowed;
        }


    }
}

 

注:两种方法基本相同,只是cs文件对于上传文件处理略有不同,作为记录,方便查阅。

分享到:
评论

相关推荐

    在ASP.NET中实现多文件上传(示例源码)

    在ASP.NET中实现多文件上传是一项常见的功能,尤其在构建Web应用程序时,用户可能需要一次上传多个文件,例如图片、文档或视频。本教程将详细解释如何在ASP.NET环境中实现这一功能,包括必要的HTML控件、服务器端...

    asp.net 批量上传文件

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

    【ASP.NET编程知识】asp.net单文件带进度条上传的解决方案.docx

    在本文中,我们使用ASP.NET缓存机制来实现文件上传进度条的显示。ASP.NET缓存机制能够帮助我们缓存文件上传的信息,从而实现进度条的显示。在本文中,我们使用ASP.NET缓存机制来缓存文件上传的信息,然后使用ajax...

    ASP.NET中实现多文件上传实例

    在ASP.NET中,多文件上传是一项常见的功能,用于允许用户一次性选择并上传多个文件到服务器。这个实例将向我们展示如何使用C#编程语言在ASP.NET环境中实现这一功能。以下是一份详细的步骤和知识点解析: 1. **HTML...

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

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

    图片文件上传代码ASP.NET

    ### 图片文件上传代码在ASP.NET中的实现 #### 核心知识点概述 本文将围绕一个ASP.NET中的图片文件上传功能进行详细的分析与讲解。通过深入理解所提供的代码片段,我们可以了解到如何利用ASP.NET来处理文件上传的...

    WEBUPLOAD大文件传送C# asp.net

    通过以上步骤和策略,开发者可以在C# ASP.NET环境中实现高效、安全的大文件上传功能,为用户提供良好的上传体验。在整个过程中,需要注意性能优化、用户体验提升和安全性保障,确保Web应用的稳定运行。

    asp.net实现上传图片后并显示

    在ASP.NET中实现上传图片并在页面上显示是一个常见的需求,主要涉及到文件上传、图像处理以及前端展示等技术。以下是对这个主题的详细说明: 一、ASP.NET文件上传基础 ASP.NET提供了一些内置的控件和类来支持文件...

    ASP.NET Web API 接收文件上传

    本文将深入探讨如何在ASP.NET Web API中实现文件上传功能,并涉及MIME多部分类型。 首先,让我们了解MIME(Multipurpose Internet Mail Extensions)多部分类型。MIME是一种标准,用于定义电子邮件和其他网络传输的...

    asp.net mvc 实现文件上传

    在这个"asp.net mvc 实现文件上传"的例子中,我们将深入探讨如何在ASP.NET MVC应用中实现文件上传功能,这对于任何Web开发人员来说都是一个基本且实用的技能。 首先,我们需要在控制器(Controller)中创建一个动作...

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

    在ASP.NET中,文件上传主要依赖于`&lt;asp:FileUpload&gt;`控件。首先,在网页的HTML部分添加此控件,然后在服务器端处理文件上传。以下是一个简单的示例: ```html &lt;asp:FileUpload ID="FileUpload1" runat="server" /&gt; ...

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

    综上所述,实现ASP.NET中的大文件上传并带有进度条功能,涉及到的技术点广泛,包括文件分块、合并、进度条UI、错误处理、安全控制等。理解这些知识点并能够灵活应用,对于开发高效且用户体验良好的文件上传系统至关...

    asp.net mvc+Bootstrap Fileinput框架实现的文件上传

    以上是关于"asp.net mvc+Bootstrap Fileinput框架实现的文件上传"的相关知识点,这个示例提供了在ASP.NET MVC环境中集成Bootstrap Fileinput进行文件上传的完整流程,对于开发者来说具有很好的参考价值。通过学习和...

    ASP.net实现多文件上传

    在这个场景中,我们关注的是如何使用ASP.NET来实现多文件上传的功能。多文件上传在现代Web应用中非常常见,例如用户可能需要上传一组照片或者文档。与一次性多选文件自动生成多个连接的上传方式不同,这里描述的实现...

    FileUpload 文件上传组件的ASP.NET源码.rar

    FileUpload 文件上传组件的ASP.NET实例,基于主副窗口的上传程序,利用线程提升上传速度。本插件可支持多文件上传,为了提升上传体验,这里使用了AjaxControlToolkit.dll、... ASP.NET中实现FileUpload多文件上传

    Asp.Net 用Jquery实现多个文件上传及下载

    在实现文件上传和下载时,需要注意安全性和性能问题。例如,限制文件大小以防止DoS攻击,检查文件类型以避免恶意文件上传,优化文件存储结构以提高读取速度,以及使用缓存和CDN服务来加速文件下载。 总结来说,通过...

    Asp.net MVC 实现在线预览word、excel、ppt、pdf文件

    在Asp.net MVC框架中,实现在线预览各种办公文档,如Word、Excel、PowerPoint和PDF文件,是一项常见的需求。这通常涉及到技术栈的整合,包括后端处理和前端展示。以下是一些关键知识点: 1. **Asp.net MVC框架**:...

    asp.net ajax 多文件上传

    在ASP.NET中,实现多文件上传通常会使用`&lt;asp:FileUpload&gt;`控件,它可以一次性选择多个文件。但是,由于HTTP协议的限制,浏览器默认一次只能上传一个文件。为了解决这个问题,开发者通常会借助AJAX技术,通过创建...

    ASP.NET 实现 上传下载案例

    在ASP.NET中,我们可以使用`&lt;asp:FileUpload&gt;`控件来让用户选择要上传的文件。用户在前端选择文件后,这些文件的信息会作为POST请求的一部分发送到服务器。在服务器端,我们可以通过`HttpPostedFileBase`接口来访问...

    asp.net(c#)实现在线拍照上传

    3. **服务器端处理**:在ASP.NET中,我们需要一个接收图片数据的HTTP POST接口。可以创建一个ASHX(HTTP Handler)或者API控制器来处理这个请求。C#代码会接收到二进制数据,然后将其保存为图片文件。考虑到安全性和...

Global site tag (gtag.js) - Google Analytics