BackgroundDownloader.CreateDownload Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
CreateDownload(Uri, IStorageFile) |
Initializes a DownloadOperation object that contains the specified Uri and the file that the response is written to. |
CreateDownload(Uri, IStorageFile, IStorageFile) |
Initializes a DownloadOperation object with the resource Uri, the file that the response is written to, and the request entity body. |
CreateDownload(Uri, IStorageFile)
Initializes a DownloadOperation object that contains the specified Uri and the file that the response is written to.
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
Parameters
- resultFile
- IStorageFile
The file that the response will be written to.
Returns
The resultant download operation.
- Attributes
Remarks
Background transfer doesn't support concurrent downloads of the same Uri. So an app can download http://example.com/myfile.wmv
once, or download it again after a previous download completed. An app shouldn't start two downloads of the same Uri concurrently, since this may result in truncated files.
Important
Creating a large number of transfers on the main UI thread with CreateDownload can result in degraded performance of your app's UI. If you are queuing up a large number of transfers, it is recommended that you call CreateDownload on a background worker thread as in the following example.
operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });
Note
Some file systems have file size limits. Background transfer has special logic to fast-fail transfers that exceed the destination drive's file size limits (for example, files that exceed 4GB in size for FAT32 file systems). If the server responds with a Content-Length
header value greater than the file system's maximum file size, then the download operation immediately fails with HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).
See also
Applies to
CreateDownload(Uri, IStorageFile, IStorageFile)
Initializes a DownloadOperation object with the resource Uri, the file that the response is written to, and the request entity body.
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
Parameters
- resultFile
- IStorageFile
The file that the response will be written to.
- requestBodyFile
- IStorageFile
A file that represents the request entity body, which contains additional data the server requires before the download can begin. The file this object points to must be valid for the duration of the download.
Returns
The resultant download operation.
- Attributes
Remarks
The resultant DownloadOperation supports scenarios where a valid download request contains specific data required by the server. For example, a website requires a filled out form before the download can take place.
Background transfer doesn't support concurrent downloads of the same Uri. So an app can download http://example.com/myfile.wmv
once, or download it again after a previous download completed. An app shouldn't start two downloads of the same Uri concurrently, since this may result in truncated files.
Important
Creating a large number of transfers on the main UI thread with CreateDownload can result in degraded performance of your app's UI. If you are queuing up a large number of transfers, it is recommended that you call CreateDownload on a background worker thread as in the following example.
operation = await Task.Run(() => { return myDownloader.CreateDownload(uri, file); });
Note
Some file systems have file size limits. Background transfer has special logic to fast-fail transfers that exceed the destination drive's file size limits (for example, files that exceed 4GB in size for FAT32 file systems). If the server responds with a Content-Length
header value greater than the file system's maximum file size, then the download operation immediately fails with HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).