다음을 통해 공유


BackgroundDownloader.CreateDownload 메서드

정의

오버로드

CreateDownload(Uri, IStorageFile)

지정된 Uri 및 응답이 기록된 파일이 포함된 DownloadOperation 개체를 초기화합니다.

CreateDownload(Uri, IStorageFile, IStorageFile)

리소스 URI, 응답이 기록된 파일 및 요청 엔터티 본문을 사용하여 DownloadOperation 개체를 초기화합니다.

CreateDownload(Uri, IStorageFile)

지정된 Uri 및 응답이 기록된 파일이 포함된 DownloadOperation 개체를 초기화합니다.

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 파일 시스템의 경우 크기가 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

매개 변수

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 파일 시스템의 경우 크기가 4GB를 초과하는 파일). 서버가 파일 시스템의 최대 파일 크기보다 큰 헤더 값으로 Content-Length 응답하는 경우 HRESULT_FROM_WIN32(ERROR_FILE_SYSTEM_LIMITATION)으로 다운로드 작업이 즉시 실패합니다.

추가 정보

적용 대상