压缩或压缩文件 - Windows Phone通用应用程序 - C#

时间:2014-11-12 09:56:20

标签: c# windows-8.1 windows-phone-8.1 zipfile windows-rt

我需要在服务器的HttpWebRequest中压缩文件以进行发送。我尝试使用C#的外部类,但在Universal Apps中不起作用。我尝试使用可以在Universal应用程序中使用的原始类,这是我的代码:

 //SycroZipFile and UploadFile are StorageFile type.
 using (Stream writeStream = await SyncroZipFile.OpenStreamForWriteAsync())
 {
     using (Stream readStream = await UploadFile.OpenStreamForReadAsync())
     {
         await readStream.CopyToAsync(writeStream);
     }
 }

但ZipFile已损坏并且无法正常工作,任何人都可以帮助我在Windows Phone Universal Apps中压缩文件?非常感谢,对不起我的英语,并提前致谢!

1 个答案:

答案 0 :(得分:0)

最后我可以解决我的问题!如果您是Windows Phone的程序员,则通用应用程序会遇到外部类来压缩文件的问题,您可以将我的代码用于Visual中可用于Universal Apps的原始类:

//The UploadFile and SyncroZipFile are StorageFile's.
using (Stream StreamToUploadFile = await UploadFile.OpenStreamForWriteAsync())
{
    using (Stream StreamToSyncroZipFile = await SyncroZipFile.OpenStreamForWriteAsync())
    {
        using (ZipArchive UploadFileCompressed = new ZipArchive(StreamToSyncroZipFile, ZipArchiveMode.Update))
        {
            ZipArchiveEntry NewZipEntry = UploadFileCompressed.CreateEntry(UploadFileName);

            using (Stream SWriter = NewZipEntry.Open())
            {
                 await StreamToUploadFile.CopyToAsync(SWriter);
            }
        }
    }
}

这段代码非常适合我,最后我的ZipArchive没有腐败,我可以打开它!祝你好运!