Compartilhar via


BackgroundDownloader.CreateDownload Método

Definição

Sobrecargas

CreateDownload(Uri, IStorageFile)

Inicializa um objeto DownloadOperation que contém o Uri especificado e o arquivo no qual a resposta é gravada.

CreateDownload(Uri, IStorageFile, IStorageFile)

Inicializa um objeto DownloadOperation com o URI do recurso, o arquivo no qual a resposta é gravada e o corpo da entidade de solicitação.

CreateDownload(Uri, IStorageFile)

Inicializa um objeto DownloadOperation que contém o Uri especificado e o arquivo no qual a resposta é gravada.

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

Parâmetros

uri
Uri Uri

A localização do recurso.

resultFile
IStorageFile

O arquivo no qual a resposta será gravada.

Retornos

A operação de download resultante.

Atributos

Comentários

A transferência em segundo plano não dá suporte a downloads simultâneos do mesmo URI. Portanto, um aplicativo pode baixar http://example.com/myfile.wmv uma vez ou baixá-lo novamente após a conclusão de um download anterior. Um aplicativo não deve iniciar dois downloads do mesmo Uri simultaneamente, pois isso pode resultar em arquivos truncados.

Importante

A criação de um grande número de transferências no thread de interface do usuário main com CreateDownload pode resultar em um desempenho degradado da interface do usuário do aplicativo. Se você estiver enfileirando um grande número de transferências, é recomendável chamar CreateDownload em um thread de trabalho em segundo plano como no exemplo a seguir.

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

Observação

Alguns sistemas de arquivos têm limites de tamanho de arquivo. A transferência em segundo plano tem lógica especial para transferências com falha rápida que excedem os limites de tamanho de arquivo da unidade de destino (por exemplo, arquivos que excedem 4 GB de tamanho para sistemas de arquivos FAT32). Se o servidor responder com um Content-Length valor de cabeçalho maior que o tamanho máximo do arquivo do sistema de arquivos, a operação de download falhará imediatamente com HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).

Confira também

Aplica-se a

CreateDownload(Uri, IStorageFile, IStorageFile)

Inicializa um objeto DownloadOperation com o URI do recurso, o arquivo no qual a resposta é gravada e o corpo da entidade de solicitação.

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

Parâmetros

uri
Uri Uri

A localização do recurso.

resultFile
IStorageFile

O arquivo no qual a resposta será gravada.

requestBodyFile
IStorageFile

Um arquivo que representa o corpo da entidade de solicitação, que contém dados adicionais que o servidor requer antes que o download possa começar. O arquivo para o qual esse objeto aponta deve ser válido durante o download.

Retornos

A operação de download resultante.

Atributos

Comentários

O DownloadOperation resultante dá suporte a cenários em que uma solicitação de download válida contém dados específicos exigidos pelo servidor. Por exemplo, um site requer um formulário preenchido antes que o download possa ocorrer.

A transferência em segundo plano não dá suporte a downloads simultâneos do mesmo URI. Portanto, um aplicativo pode baixar http://example.com/myfile.wmv uma vez ou baixá-lo novamente após a conclusão de um download anterior. Um aplicativo não deve iniciar dois downloads do mesmo Uri simultaneamente, pois isso pode resultar em arquivos truncados.

Importante

A criação de um grande número de transferências no thread de interface do usuário main com CreateDownload pode resultar em um desempenho degradado da interface do usuário do aplicativo. Se você estiver enfileirando um grande número de transferências, é recomendável chamar CreateDownload em um thread de trabalho em segundo plano como no exemplo a seguir.

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

Observação

Alguns sistemas de arquivos têm limites de tamanho de arquivo. A transferência em segundo plano tem lógica especial para transferências com falha rápida que excedem os limites de tamanho de arquivo da unidade de destino (por exemplo, arquivos que excedem 4 GB de tamanho para sistemas de arquivos FAT32). Se o servidor responder com um Content-Length valor de cabeçalho maior que o tamanho máximo do arquivo do sistema de arquivos, a operação de download falhará imediatamente com HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION).

Confira também

Aplica-se a