BackgroundDownloader.CreateDownload 方法

定义

重载

CreateDownload(Uri, IStorageFile)

初始化一个 DownloadOperation 对象,该对象包含指定的 URI 和将响应写入到的文件。

CreateDownload(Uri, IStorageFile, IStorageFile)

使用资源 URI、写入响应的文件以及请求实体正文初始化 DownloadOperation 对象。

CreateDownload(Uri, IStorageFile)

初始化一个 DownloadOperation 对象,该对象包含指定的 URI 和将响应写入到的文件。

public:
 virtual DownloadOperation ^ CreateDownload(Uri ^ uri, IStorageFile ^ resultFile) = CreateDownload;
/// [Windows.Foundation.Metadata.Overload("CreateDownload")]
DownloadOperation CreateDownload(Uri const& uri, IStorageFile const& resultFile);
[Windows.Foundation.Metadata.Overload("CreateDownload")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile);
function createDownload(uri, resultFile)
Public Function CreateDownload (uri As Uri, resultFile As IStorageFile) As DownloadOperation

参数

uri
Uri Uri

资源的位置。

resultFile
IStorageFile

将响应写入到的文件。

返回

生成的下载操作。

属性

注解

后台传输不支持并发下载同一 URI。 因此,应用可以下载 http://example.com/myfile.wmv 一次,也可以在上一次下载完成后再次下载。 应用不应同时启动同一 Uri 的两次下载,因为这可能会导致文件被截断。

重要

使用 CreateDownload 在main UI 线程上创建大量传输可能会导致应用 UI 性能下降。 如果要排队大量传输,建议在后台工作线程上调用 CreateDownload ,如以下示例所示。

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

注意

某些文件系统有文件大小限制。 后台传输具有特殊的逻辑,可快速失败超过目标驱动器文件大小限制的传输 (例如,对于 FAT32 文件系统,超过 4GB 的文件) 。 如果服务器的响应 Content-Length 标头值大于文件系统的最大文件大小,则下载操作将立即失败并HRESULT_FROM_WIN32 (ERROR_FILE_SYSTEM_LIMITATION) 。

另请参阅

适用于

CreateDownload(Uri, IStorageFile, IStorageFile)

使用资源 URI、写入响应的文件以及请求实体正文初始化 DownloadOperation 对象。

public:
 virtual DownloadOperation ^ CreateDownload(Uri ^ uri, IStorageFile ^ resultFile, IStorageFile ^ requestBodyFile) = CreateDownload;
/// [Windows.Foundation.Metadata.Overload("CreateDownloadFromFile")]
DownloadOperation CreateDownload(Uri const& uri, IStorageFile const& resultFile, IStorageFile const& requestBodyFile);
[Windows.Foundation.Metadata.Overload("CreateDownloadFromFile")]
public DownloadOperation CreateDownload(System.Uri uri, IStorageFile resultFile, IStorageFile requestBodyFile);
function createDownload(uri, resultFile, requestBodyFile)
Public Function CreateDownload (uri As Uri, resultFile As IStorageFile, requestBodyFile As IStorageFile) As DownloadOperation

参数

uri
Uri Uri

资源的位置。

resultFile
IStorageFile

将响应写入到的文件。

requestBodyFile
IStorageFile

一个表示请求实体正文的文件,其中包含服务器在开始下载之前所需的其他数据。 此对象指向的文件在下载期间必须有效。

返回

生成的下载操作。

属性

注解

生成的 DownloadOperation 支持有效的下载请求包含服务器所需的特定数据的方案。 例如,网站需要填写一个填写的表单,然后才能进行下载。

后台传输不支持并发下载同一 URI。 因此,应用可以下载 http://example.com/myfile.wmv 一次,也可以在上一次下载完成后再次下载。 应用不应同时启动同一 Uri 的两次下载,因为这可能会导致文件被截断。

重要

使用 CreateDownload 在main UI 线程上创建大量传输可能会导致应用 UI 性能下降。 如果要排队大量传输,建议在后台工作线程上调用 CreateDownload ,如以下示例所示。

operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });

注意

某些文件系统有文件大小限制。 后台传输具有特殊的逻辑,可快速失败超过目标驱动器文件大小限制的传输 (例如,对于 FAT32 文件系统,超过 4GB 的文件) 。 如果服务器的响应 Content-Length 标头值大于文件系统的最大文件大小,则下载操作将立即失败并HRESULT_FROM_WIN32 (ERROR_FILE_SYSTEM_LIMITATION) 。

另请参阅

适用于