Silverlight怎么实现压缩

TONG_先生 2016-05-17 03:34:45
我想把WebPublish下面的某个文件夹进行压缩为zip或者xap,然后调用接口,将压缩包传到上传到总行服务器

如题,求助!
...全文
636 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
下载一个压缩库,比如ICSharpCode.SharpZipLib.dll,直接调接口就可以
SlimTracy 2016-05-18
  • 打赏
  • 举报
回复
估计用.net自带的gzip压缩比较方便。如果压缩率要高,推荐7zip的LZMA压缩算法。
TONG_先生 2016-05-18
  • 打赏
  • 举报
回复
引用 2 楼 llimite 的回复:
估计用.net自带的gzip压缩比较方便。如果压缩率要高,推荐7zip的LZMA压缩算法。
帮我看下4楼我贴出来的代码问题,可以吗
TONG_先生 2016-05-18
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
这跟Silverlight 没关系吧,跟后台有关,网上有很多 压缩的代码。
压缩已经搞定了,但是如果文件名是包含中文的,比如 5月份公告.jpg 压缩后,存在乱码问题,我想问下,再哪里增加Encoding格式代码,我把代码贴出来
private void DirectoryToZip(string path, string address)
           {
           	 //获取当前文件夹中所有的文件
            	string[] filenames = Directory.GetFiles(path);  
           	 Crc32 crc = new Crc32();
           	 //创建输出文件(ZIP格式的文件)
           	 ZipOutputStream zos = new ZipOutputStream(File.Create(address));
          	  zos.SetLevel(6);
           	 //遍历所有的文件
           	 foreach (string name in filenames)
           	 {
            	    FileStream fs = File.OpenRead(name);
             	   byte[] buffer = new byte[fs.Length];
             	  //读取文件
             	   fs.Read(buffer, 0, Convert.ToInt32(fs.Length));
             	   //获取文件的文件名称和后缀名
              	  string file = Path.GetFileName(name);
              	  //输出文件的名称
              	  ZipEntry entry = new ZipEntry(file);                
              	  crc.Reset();
              	  crc.Update(buffer);
               	 entry.Crc = crc.Value;
               	 zos.PutNextEntry(entry);
               	 zos.Write(buffer, 0, Convert.ToInt32(fs.Length));
               	 fs.Close();
          	  }
          	  zos.Finish();
         	   zos.Close();
     	    }
  • 打赏
  • 举报
回复
这跟Silverlight 没关系吧,跟后台有关,网上有很多 压缩的代码。

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧