Загруженные файлы в AppData \ Local \ Автоматическое удаление пакетов в UWP - PullRequest
0 голосов
/ 09 октября 2018

Я загружаю некоторые файлы .zip в свое приложение UWP следующим образом.

var rootFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("attachment", CreationCollisionOption.OpenIfExists );
        FileInfo fInfo;
        this.infoFiles.TryTake(out fInfo);

            StorageFile coverpic = await rootFolder.CreateFileAsync(fInfo.FileName, CreationCollisionOption.ReplaceExisting);

            try
            {
                System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
                Uri URI = new Uri(fInfo.Url);
                byte[] buffer = await client.GetByteArrayAsync(URI); // Download file
                using (Stream stream = await coverpic.OpenStreamForWriteAsync())
                    stream.Write(buffer, 0, buffer.Length); // Save


                StorageFile zipFile = await MyFileHelper.GetFileAsync(rootFolder, fInfo.FileName);


                if (fInfo.FileName.ToLower().Contains(".zip"))
                {
                    await UnZipFileAsync(zipFile, rootFolder).ConfigureAwait(false);
                    if (Instance.DownloadedNotification != null)
                    {

                        Instance.DownloadedNotification(fInfo.FileName);
                    }
                    if (await rootFolder.TryGetItemAsync("5301.zip") != null)
                    {
                        Debug.WriteLine("Soon after Download and Unzip finished 5301.zip exists");
                    }
                    else
                    {
                        Debug.WriteLine("Soon after Download and Unzip finished 5301.zip doesn't exists");
                    }




                }
                else
                {
                    if (Instance.DownloadedNotification != null)
                    {

                        Instance.DownloadedNotification(fInfo.FileName);
                    }
                    if (await rootFolder.TryGetItemAsync("5301.zip") != null)
                    {
                        Debug.WriteLine("Soon after Download and Unzip finished and file name doesn't contain \"zipFile\" 5301.zip exists");
                    }
                    else
                    {
                        Debug.WriteLine("Soon after Download and Unzip finished and file name doesn't contain \"zipFile\" 5301.zip doesn't exists");
                    }
                }


                // return coverpic;
            }
            catch (Exception e)
            {
                Debug.WriteLine("Exception Occured--" + e.Message);
            }

Я загружаю более 30 файлов асинхронно.Я загружаю 1 файл и сохраняю его.Затем распакуйте его (на самом деле я читаю содержимое файла .zip, не распаковывая его. Затем скопируйте содержащийся файл в корневую папку).После успешного копирования я загружаю 2-й ZIP-файл.

Моя проблема заключается в том, что во время этого цикла некоторые уже загруженные файлы отсутствуют в корневой папке (.zip-файл и разархивированный файл отсутствуют в корневом каталоге).папка).В качестве примера, скажем, файл 5301.zip, загруженный и распакованный в качестве первого файла.Если программа загружает 10-й файл (5310.zip), этот файл 5301.zip и разархивированный файл отсутствуют.Мои файлы загружаются в

C: \ Users \ myuser \ AppData \ Local \ Packages \ de187d8d-my-app-id-2b3b8a255c7b_tqgs61w0frgtm \ LocalState \ attachment

ЗачемБывает?Пожалуйста, помогите мне решить эту проблему.Спасибо!

...