gpt4 book ai didi

c# - HttpClient getAsync 卡在较大的文件上

转载 作者:行者123 更新时间:2023-12-01 23:47:04 24 4
gpt4 key购买 nike

如果这个问题之前已经被回答过,我很抱歉,但没有一个答案对我有帮助。我的 WebView 有一个事件:

private async void MainWebView_UnviewableContentIdentified(WebView sender, WebViewUnviewableContentIdentifiedEventArgs args)
{
await downloadFromUri(args.Uri).ConfigureAwait(false);
}

我的 downloadFromUri 方法将尝试下载文件并将其存储在下载文件夹中,最后它将打开该文件:

    static async Task downloadFromUri(Uri uri)
{
var url = uri;

HttpClient client = new HttpClient();

client.DefaultRequestHeaders.TryAppendWithoutValidation(
"Authorization Bearer",
" MYTOKEN"
);

Debug.WriteLine("Attempting GET request");

var response = await client.GetAsync(url);

Debug.WriteLine("Got response.. checking " + response.StatusCode);


if (response.IsSuccessStatusCode)
{
Debug.WriteLine("Okay, we've got a response");
var responseFileName = response.Content.Headers.ContentDisposition.FileName;

Debug.WriteLine("Filename: " + responseFileName);

var ManualFile = await DownloadsFolder.CreateFileAsync(responseFileName, CreationCollisionOption.GenerateUniqueName);

Debug.WriteLine("Creating buffer: ");
var buffer = await client.GetBufferAsync(url);

Debug.WriteLine("Writing buffer.");
await Windows.Storage.FileIO.WriteBufferAsync(ManualFile, buffer);

Debug.WriteLine("Done, opening");

var openOptions = new Windows.System.LauncherOptions();
openOptions.DisplayApplicationPicker = true;

var openFile = await Windows.System.Launcher.LaunchFileAsync(ManualFile, openOptions);
}
else
{
Debug.WriteLine(response.StatusCode.ToString());
}
}

问题是,这段代码似乎可以在小型 PDF 或 zip 文件上正常工作。但当 PDF 文件大于 10mb 时,应用程序就会卡在以下行:

var response = await client.GetAsync(url);

我该怎么做才能让这项工作成功?预先非常感谢!

注意:我使用的是 Windows.Web.Http.HttpClient,而不是 System.Net.Http.HttpClient。

编辑:我尝试跳过 client.GetAsync(url) 并直接运行 var buffer = wait client.GetBufferAsync(url); 。这也陷入了困境。

最佳答案

也许对于较大的文件,最好使用

Windows.Networking.BackgroundTransfer

命名空间,如BackgroundDownloader

关于c# - HttpClient getAsync 卡在较大的文件上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43087651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com