共用方式為


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 在主要 UI 執行緒上建立大量傳輸,可能會導致應用程式的 UI 效能降低。 如果您要排入大量傳輸佇列,建議您在背景背景背景工作執行緒上呼叫 CreateDownload ,如下列範例所示。

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

注意

有些檔案系統有檔案大小限制。 背景傳輸具有特殊邏輯,可快速失敗傳輸,這些傳輸超過目的地磁片磁碟機的檔案大小限制 (例如,在 FAT32 檔案系統的大小超過 4 GB 的檔案) 。 如果伺服器以大於檔案系統檔案大小上限的標頭值回應 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 在主要 UI 執行緒上建立大量傳輸,可能會導致應用程式的 UI 效能降低。 如果您要排入大量傳輸佇列,建議您在背景背景背景工作執行緒上呼叫 CreateDownload ,如下列範例所示。

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

注意

有些檔案系統有檔案大小限制。 背景傳輸具有特殊邏輯,可快速失敗傳輸,這些傳輸超過目的地磁片磁碟機的檔案大小限制 (例如,在 FAT32 檔案系統的大小超過 4 GB 的檔案) 。 如果伺服器以大於檔案系統檔案大小上限的標頭值回應 Content-Length ,則下載作業會立即失敗並HRESULT_FROM_WIN32 (ERROR_FILE_SYSTEM_LIMITATION) 。

另請參閱

適用於