Denis Kosov
Denis Kosov

Reputation: 697

How to unzip file in UWP

I'm trying to unzip file, but i always had

Access to the path 'C:\Users\Kosov Denis\Downloads\12.epub' is denied.

What did i worng?

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

Upvotes: 1

Views: 2302

Answers (1)

fiercex
fiercex

Reputation: 41

I have encountered the same problem with you, my google for a long time found UWP seems not directly through the path to access the file, if you want to visit the local file, you need to use the file pickup, see:hele. I used the curve to solve this problem:

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

Upvotes: 4

Related Questions