Zip Local StorageFolder в Windows Phone 8, используя SharpCompress или Sytem.IO.Compression или

Я работаю над приложением для магазина Windows Phone 8 и мне нужно Zip Local StorageFolder (с некоторыми изображениями). Environment VS 2013. Я узнал, что могу добавлять ссылки только на SharpCompress & System.IO.Compression (но не.FileSystem).

SharpZipLib и DotNetZip не поддерживают WP8.

Приведенные SharpCompress примеры не работают.

Любое предложение с кодом очень поможет. Благодарю.

1 ответ

System.IO.Compression:

string GuidPath = Path.Combine(LocalStorage, Guid.NewGuid().ToString()) + ".zip";
                        using (FileStream zipToOpen = new FileStream(GuidPath, FileMode.Create))
                        {
                            using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Create))
                            {
                                String[] files = Directory.GetFiles(szFldrPath);
                                foreach( String echFile in files )
                                {
                                    ZipArchiveEntry readmeEntry = archive.CreateEntry(Path.GetFileName(echFile));
                                    using (BinaryWriter writer = new BinaryWriter(readmeEntry.Open()))
                                    {
                                        using (Stream source = File.OpenRead(echFile))
                                        {
                                            byte[] buffer = new byte[4096];
                                            int bytesRead;
                                            while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
                                            {
                                                writer.Write(buffer, 0, bytesRead);
                                            }
                                        }
                                    }
                                }
                            }
                        }
Другие вопросы по тегам