• Zip 压缩问题件,获取真实扩展名


    var _ZIP = new System.IO.Compression.ZipArchive(Request.Files[0].InputStream);
    
    foreach (var element in _ZIP.Entries)
    {
        using (System.IO.StreamReader _ddd = new System.IO.StreamReader(element.Open()))
        {
            string _Text = _ddd.ReadToEnd();
      
        }
        
        using (System.IO.BinaryReader _ddd = new System.IO.BinaryReader(element.Open()))
        {
            string bx = " ";
            byte buffer;
            buffer = r.ReadByte();
            bx = buffer.ToString();
            buffer = r.ReadByte();
            bx += buffer.ToString();
                
                //bx == 255216 jpg 파일 
        }
    }
            static void Main(string[] args)
            {
    
                string str = string.Empty;
                str= Console.ReadLine();
                Console.WriteLine("length:" + str.Length);
                str=ToZip(str);
                Console.WriteLine("ToZip:" + str);
                Console.WriteLine("length:" + str.Length);
                str= ToUnzip(str);
                Console.WriteLine("ToUnzip:" + str);
                Console.WriteLine("length:" + str.Length);
                Console.Read();
            }
    
            static string ToZip(string _str) {
    
                string result = string.Empty;
                byte[] bString = Encoding.UTF8.GetBytes(_str);
                using (var msi = new System.IO.MemoryStream(bString))
                using (var mso = new System.IO.MemoryStream())
                {
                    using (var gs = new System.IO.Compression.GZipStream(mso, System.IO.Compression.CompressionMode.Compress))
                    {
                        byte[] bTemp = new byte[4096];
                        int count;
                        while ((count = msi.Read(bTemp, 0, bTemp.Length)) != 0)
                        {
                            gs.Write(bTemp, 0, count);
                        }
                    }
                    result= System.Convert.ToBase64String(mso.ToArray());
                }
                return result;
            }
            static string ToUnzip(string _str)
            {
                string result = string.Empty;
                byte[] bString = System.Convert.FromBase64String(_str);
                using (var msi = new System.IO.MemoryStream(bString))
                using (var mso = new System.IO.MemoryStream())
                {
                    using (var gs = new System.IO.Compression.GZipStream(msi, System.IO.Compression.CompressionMode.Decompress))
                    {
                        byte[] bTemp = new byte[4096];
                        int count;
                        while ((count = gs.Read(bTemp, 0, bTemp.Length)) != 0)
                        {
                            mso.Write(bTemp, 0, count);
                        }
                    }
                    result= Encoding.UTF8.GetString(mso.ToArray());
                }
    
                return result;
            }
  • 相关阅读:
    牛人一个
    hdu 1106 排序
    中国历史上著名的年号
    十万个为什么 —— 名词解释(历史)
    十万个为什么 —— 名词解释(历史)
    数学可视化
    数学可视化
    高观点下的初等数学
    高观点下的初等数学
    同一性(identical)
  • 原文地址:https://www.cnblogs.com/ok519/p/7298625.html
Copyright © 2020-2023  润新知