Я пытаюсь загрузить файлы из веб-просмотра 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.