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 在主要 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
參數
- 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) 。