ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

校验文件类型是否在白名单内。

2022-09-02 19:04:53  阅读:169  来源: 互联网

标签:Console Tuple 校验文件 var 类型 static 白名单 new fileFormat


class Program
    {
        static void Main(string[] args)
        {
            using (var Stream = new FileStream(@"C:\Users\qa_weiwa\Downloads\core 6.0.exe", FileMode.Open))
            {
                var inspector = new FileFormatInspector();
                var rt = FileExtensionValid.IsValid(inspector, Stream);
                if (rt.Item1)
                {
                    Console.WriteLine("附件类型符合要求");
                }
                else {
                    Console.WriteLine(rt.Item2);
                }
                Console.ReadKey();
            }
        }

        public static class FileExtensionValid
        {
            /// <summary>
            /// 校验文件类型是否在白名单内。
            /// 白名单:jpg、png、tif、gif、zip、pdf、doc、docx、xls、xlsx、msg
            /// </summary>
            /// <param name="fileFormatInspector"></param>
            /// <param name="stream"></param>
            /// <returns></returns>
            public static Tuple<bool, string> IsValid(FileFormatInspector fileFormatInspector,Stream stream)
            {
                var format = fileFormatInspector.DetermineFileFormat(stream);
                return FileExtensionIsInWhiteList(format);
            }
            private static Tuple<bool, string> FileExtensionIsInWhiteList(FileFormat fileFormat)
            {
                // Jpeg 
                if (fileFormat is null || fileFormat is Jpeg || fileFormat is Png || fileFormat is Tiff || fileFormat is Gif
                    || fileFormat is Gif || fileFormat is Zip || fileFormat is Pdf
                    || fileFormat is Word || fileFormat is Excel || fileFormat is OutlookMessage
                    )
                {
                    return new Tuple<bool, string>(true, "");
                }
                else { 
                    return new Tuple<bool, string>(false, "上传的文件类型不正确,请上传jpg、png、tif、gif、zip、pdf、doc、docx、xls、xlsx、msg类型的附件");
                }
            }
        }

}

 

标签:Console,Tuple,校验文件,var,类型,static,白名单,new,fileFormat
来源: https://www.cnblogs.com/Insist-Y/p/16650936.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有