• (转)ASP.NET(C#)FileUpload实现上传限定类型和大小的文件到服务器


    上传文件有两个主要的目的地,一个是服务器,另一个是数据库,ASP.NET内置了FileUpload这个上传控件,文本框显示用户选择的文件的全名.

    其属性主要包括:

    ContenLength:上传文件大小,单位:字节

    FileName:文件名称

    HasFile:是否选择了文件

    例子:
    测试环境.net 2.0(内有详细说明)

    default.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!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>无标题页</title> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:FileUpload ID="FileUpload1" runat="server" /><br /> 
    <br /> 
    <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上传" /> </div> 
    </form> 
    </body> 
    </html>

    default.aspx.cs

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

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            Boolean fileOk = false;
            string path = Server.MapPath("~/upload/");

    //判断是否已经选取文件
            if (FileUpload1.HasFile)
            {
                //取得文件的扩展名,并转换成小写
                string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                //限定只能上传jpg和gif图片
                string[] allowExtension = { ".jpg", ".gif", ".txt", ".xls" };
                //对上传的文件的类型进行一个个匹对
                for (int i = 0; i < allowExtension.Length; i++)
                {
                    if (fileExtension == allowExtension[i])
                    {
                        fileOk = true;
                        break;
                    }
                }
                //
                if (fileOk)
                {
                    resultlbl.Text = "要上传的文件类型不对!";
                }

                //对上传文件的大小进行检测,限定文件最大不超过1M
                if (FileUpload1.PostedFile.ContentLength > 1024000)
                {
                    fileOk = false;
                }
                //最后的结果
                if (fileOk)
                {
                    try
                    {
                        FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName);
                        resultlbl.Text ="上传成功";
                    }
                    catch
                    {

                        resultlbl.Text = "上传失败";
                    }
                }
                else
                {
                     resultlbl.Text = "文件类型或者文件大小超出1M或者文件类型不对";

               }

            }
        }
    }

    前端界面:


    服务器端目录:

      

    DEMO下载地址:https://dwz.cn/fgXtRtnu

  • 相关阅读:
    error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
    configure: error: Cannot find OpenSSL's libraries
    PHP编译configure时常见错误
    解决PHP编译cURL的reinstall the libcurl问题
    Linux环境PHP7.0安装
    PHP 7的一些引人注目的新特性简单介绍
    (转).net webconfig使用IConfigurationSectionHandler自定section
    Asp.Net MVC 使用FileResult导出Excel数据文件
    ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
    [老老实实学WCF] 第十篇 消息通信模式(下) 双工
  • 原文地址:https://www.cnblogs.com/xproer/p/10751541.html
Copyright © 2020-2023  润新知