示例#1
0
文件: ZipHelper.cs 项目: Daoting/dt
        /// <summary>
        /// Compresses the files.
        /// </summary>
        /// <param name="mFolder">m folder</param>
        /// <param name="targetStream">target stream</param>
        /// <returns>successful or not</returns>
        public static bool CompressFiles(MemoryFolder mFolder, Stream targetStream)
        {
            if (((mFolder == null) || (mFolder.disk == null)) || ((targetStream == null) || !targetStream.CanWrite))
            {
                return(false);
            }
            ZipArchive zipOutputStream = GetZipOutputStream(targetStream);

            if (zipOutputStream == null)
            {
                return(false);
            }
            using (zipOutputStream)
            {
                foreach (string str in mFolder.disk.Keys)
                {
                    Stream file = mFolder.GetFile(str);
                    if (file != null)
                    {
                        CompressFile(zipOutputStream, str.Replace('\\', '/'), file);
                    }
                    else
                    {
                        zipOutputStream.CreateEntry(str.Replace('\\', '/'));
                    }
                }
            }
            return(true);
        }
示例#2
0
        public static List <Dt.Xls.OOXml.Relationship> GetRelationshipsByBaseName(string baseName, MemoryFolder mFolder)
        {
            if ((baseName == null) || (mFolder == null))
            {
                return(null);
            }
            string relationshipsNameByBaseName = GetRelationshipsNameByBaseName(baseName);

            if (relationshipsNameByBaseName == null)
            {
                return(null);
            }
            return(ReadRelationships(mFolder.GetFile(relationshipsNameByBaseName)));
        }