asp.net 控制上传文件的格式

 转载自 shenhui_1

 

上传按钮事件:

protected void btnUp_Click(object sender, EventArgs e)

    {

        string filename = "";

        Boolean fileOK = false;

        if (fileUp.HasFile)

        {

            String fileExtension = System.IO.Path.GetExtension(fileUp.FileName).ToLower();

            String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };

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

            {

                if (fileExtension == allowedExtensions[i])

                {

                    fileOK = true;

                }

            }

        }

        FileExtension[] fe = { FileExtension.BMP, FileExtension.GIF, FileExtension.JPG, FileExtension.PNG };

        if (fileOK && IsAllowedExtension(fileUp, fe))// IsAllowedExtension方法见下

        {

 

            string fileExt = System.IO.Path.GetExtension(fileUp.FileName).ToLower();

            filename = this.txtMapName.Value + fileExt;

            string filePath = Server.MapPath("~/fileUpLoadImage/") + filename;

            fileUp.PostedFile.SaveAs(filePath);

            map m = new map();

            m.MapName = this.txtMapName.Value;

            m.MapPath = filePath;

            m.Sj = this.txtsj.Value;

            m.Sm = this.txtsm.Text;

            m.Qiyong = 0;

            map_dal.AddMap(m);

        }

        else

        {

            Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "<script>alert('只能上传图片!')</script>");

            return;

        }  

    }

 


   public enum FileExtension //枚举类型

    {

        JPG = 255216,

        GIF = 7173,

        BMP = 6677,

        PNG = 13780

        // 255216 jpg;    

        // 7173 gif;    

        // 6677 bmp,    

        // 13780 png;    

        // 7790 exe dll,    

        // 8297 rar    

        // 6063 xml    

        // 6033 html    

        // 239187 aspx    

        // 117115 cs    

        // 119105 js    

        // 210187 txt    

        //255254 sql  

    }

    public static bool IsAllowedExtension(FileUpload fu, FileExtension[] fileEx)

    {

        int fileLen = fu.PostedFile.ContentLength;

        byte[] imgArray = new byte[fileLen];

        fu.PostedFile.InputStream.Read(imgArray, 0, fileLen);

        MemoryStream ms = new MemoryStream(imgArray);

        System.IO.BinaryReader br = new System.IO.BinaryReader(ms);

        string fileclass = "";

        byte buffer;

        try

        {

            buffer = br.ReadByte();

            fileclass = buffer.ToString();

            buffer = br.ReadByte();

            fileclass += buffer.ToString();

        }

        catch

        {

        }

        br.Close();

        ms.Close();

        foreach (FileExtension fe in fileEx)

        {

            if (Int32.Parse(fileclass) == (int)fe)

                return true;

        }

        return false;

 

    }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值