UWP UnviewableContentIdentified Загрузка - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь загрузить файлы из веб-просмотра UWP с использованием C #, однако некоторые веб-сайты обрабатывают загрузку файлов по-разному, и я вынужден учитывать разные типы файлов.Иногда я получаю эту ошибку JavaScript при загрузке файлов «errorPage4Download.jsp».

Я пробовал ее на многих разных сайтах, и она работает примерно в 70% случаев, однако я получаюРезультат errorPage4Download.jsp.Microsoft Edge загружает все как положено. Может ли кто-нибудь иметь исходный код, в котором веб-представление UWP ведет себя так же, как Microsoft Edge, когда дело доходит до загрузок?

        LoadRing.Visibility = Visibility.Visible;
        BackgroundDownloader downloader = new BackgroundDownloader();
        Uri source = args.Uri;
        StorageFolder folder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("Downloads", CreationCollisionOption.OpenIfExists);

        //var dataPackage = new DataPackage();
        //dataPackage.SetText(args.Uri.AbsoluteUri.ToString());
        //Clipboard.SetContent(dataPackage);
        //await Messagebox(args.Uri.AbsoluteUri.ToString());

        //await Messagebox(args.MediaType.ToString());

        string FileExtension = null;

        if (args.MediaType.ToString() == "text/plain") { FileExtension = ".txt"; }
        if (args.MediaType.ToString() == "application/txt") { FileExtension = ".txt"; }
        if (args.MediaType.ToString() == "text/csv") { FileExtension = ".csv"; }
        if (args.MediaType.ToString() == "application/vnd.ms-excel") { FileExtension = ".xls"; }
        if (args.MediaType.ToString() == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileExtension = ".xlsx"; }
        if (args.MediaType.ToString() == "application/pdf") { FileExtension = ".pdf"; }



        StorageFolder appInstalledFolder = ApplicationData.Current.LocalFolder;
        StorageFolder Temp = await appInstalledFolder.GetFolderAsync("Downloads");
        try
        {
            var files = await Temp.GetFilesAsync();
            foreach (StorageFile file in files)
            {
                //File.Delete(file.Path);
            }
        }
        catch { }


        if (folder != null)
        {
            StorageFile testfile = await folder.CreateFileAsync("Export" + FileExtension, CreationCollisionOption.GenerateUniqueName);
            DownloadOperation download = downloader.CreateDownload(source,  testfile);
            await Messagebox(download.CurrentWebErrorStatus.ToString());
            await Messagebox(download.IsRandomAccessRequired.ToString());

            await download.StartAsync();
            await Launcher.LaunchFileAsync(testfile);
        }


        LoadRing.Visibility = Visibility.Collapsed;

Все, что я хочу, - это чтобы пользователи загружали такие файлы, как Microsoft Edge.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...