使用HttpClient在UWP中下载文件

使用HttpClient在UWP中下载文件,uwp,c++-winrt,Uwp,C++ Winrt,我想使用下载相当大的文件(大约200MB),但我不能使用BackgroundDownloader。不幸的是,文档似乎暗示我必须在将整个文件写入磁盘之前将其下载到内存中。有没有办法在下载过程中使用HttpClient将文件分块写入?此场景中的一些问题。嗯,为什么不能使用backgrounddownloader?此外,我只看到以下内容:“如果在Windows.Web.Http命名空间中使用HttpClient和相关类的应用程序下载大量数据(50 MB或更多),则应用程序应流式传输这些下载,而不使用默

我想使用下载相当大的文件(大约200MB),但我不能使用
BackgroundDownloader
。不幸的是,文档似乎暗示我必须在将整个文件写入磁盘之前将其下载到内存中。有没有办法在下载过程中使用
HttpClient
将文件分块写入?

此场景中的一些问题。嗯,为什么不能使用backgrounddownloader?此外,我只看到以下内容:“如果在Windows.Web.Http命名空间中使用HttpClient和相关类的应用程序下载大量数据(50 MB或更多),则应用程序应流式传输这些下载,而不使用默认缓冲。如果使用默认缓冲,则客户端内存使用量将非常大,可能导致性能降低。”您在哪里看到它应该在内存中下载整个文件?@BarryWang MSFT有身份验证要求,因此没有后台下载程序。在哪里可以学习如何流式传输这些下载,而不使用默认缓冲?我找不到C++/Winrt示例。但您可以先检查C代码以了解基本内容,这是一个C官方示例的演示。一般来说,您在这里使用的是ReadAsInputStreamAsync。@BarryWang MSFT感谢您的参考。我不知道我们可以自己流式传输内容。这个场景有一些问题。嗯,为什么不能使用backgrounddownloader?此外,我只看到以下内容:“如果在Windows.Web.Http命名空间中使用HttpClient和相关类的应用程序下载大量数据(50 MB或更多),则应用程序应流式传输这些下载,而不使用默认缓冲。如果使用默认缓冲,则客户端内存使用量将非常大,可能导致性能降低。”您在哪里看到它应该在内存中下载整个文件?@BarryWang MSFT有身份验证要求,因此没有后台下载程序。在哪里可以学习如何流式传输这些下载,而不使用默认缓冲?我找不到C++/Winrt示例。但您可以先检查C代码以了解基本内容,这是一个C官方示例的演示。一般来说,您在这里使用的是ReadAsInputStreamAsync。@BarryWang MSFT感谢您的参考。我不知道我们可以自己流式传输内容。