BackgroundDownloader.CreateDownload 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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
参数
- 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
参数
- 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) 。