如何在UWP中解压缩文件

时间:2016-06-29 04:15:03

标签: c# zip uwp

我试图解压缩文件,但我总是有

  

访问路径' C:\ Users \ Kosov Denis \ Downloads \ 12.epub'是   拒绝。

我做了什么?

await Task.Run(() =>
            {
                ZipFile.ExtractToDirectory(file.Path,
                    ApplicationData.Current.LocalCacheFolder.Path +
                    string.Format(@"\{0}", file.Name.Replace(file.FileType, "")));
            });

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,我的google很长一段时间发现UWP似乎没有直接通过访问该文件的路径,如果要访问本地文件,则需要使用文件拾取,请参阅: hele。 我用曲线来解决这个问题:

StorageFolder folder;
folder = ApplicationData.Current.LocalFolder;

//Open the file picker
var _openFile = new FileOpenPicker();
_openFile.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
_openFile.ViewMode = PickerViewMode.List;
_openFile.FileTypeFilter.Add(".zip");
StorageFile file = await _openFile.PickSingleFileAsync();

//Read the file stream
Stream a = await file.OpenStreamForReadAsync();

//unzip
ZipArchive archive = new ZipArchive(a);
archive.ExtractToDirectory(folder.Path);

ZipArchive Class