博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件上传前的判断
阅读量:5895 次
发布时间:2019-06-19

本文共 2022 字,大约阅读时间需要 6 分钟。

hot3.png

ASP.NET(C#)FileUpload实现上传限定类型和大小的文件

 (2010-05-14 13:23:01)ASP.NET内置了FileUpload这个上传控件.

其属性主要包括:

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

FileName:文件名称

HasFile:是否选择了文件

SaveAs():保存上传文件的内容

default.aspx

<%@ Page Language="C#" 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="FileUpload" runat="server" />
<br/>
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上传" />

<br/>

<asp:Label ID="labresult" runat="server"></asp:Label> </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 (FileUpload.HasFile)
        {
            //取得文件的扩展名,并转换成小写
            string fileExtension = System.IO.Path.GetExtension(FileUpload.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)
            {
                labresult.Text = "要上传的文件类型不对!";
            }

            //对上传文件的大小进行检测,限定文件最大不超过2M

            if (FileUpload.PostedFile.ContentLength > 2048000)
            {
                fileOk = false;
            }
            //最后的结果
            if (fileOk)
            {
                try
                {
                    FileUpload.PostedFile.SaveAs(path + FileUpload.FileName);
                    labresult.Text ="上传成功";
                }
                catch
                {

                    labresult.Text = "上传失败";

                }
            }
            else
            {
                 labresult.Text = "文件类型或者文件大小超出2M或者文件类型不对";

           }

        }

    }
}

转载于:https://my.oschina.net/u/2947900/blog/812801

你可能感兴趣的文章
go微服务框架go-micro深度学习(三) Registry服务的注册和发现
查看>>
在Fedora8上安装MySQL5.0.45的过程
查看>>
设计模式之命令模式
查看>>
Spring AOP项目应用——方法入参校验 & 日志横切
查看>>
使用REST-Assured对API接口进行自动化测试
查看>>
王潮歌跨界指导HUAWEI P20系列发布会 颠覆传统 眼界大开!
查看>>
王高飞:微博已收购一直播 明年一季度重点是功能与流量打通
查看>>
新北市长侯友宜:两岸交流应从隔壁最亲近的人开始
查看>>
全面屏的Nokia X即将上线,不到2000元的信仰你要充值吗?
查看>>
ES6学习
查看>>
JavaScript数据类型及语言基础--ife
查看>>
进阶 Nginx 高手必须跨越的 5 座大山
查看>>
部署P2P升级的脚本
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
POI导出JavaWeb中的table到excel下载
查看>>
linux文件描述符
查看>>
C++ const 详解
查看>>