개요

Runtime Files Downloader는 런타임에 HTTP / HTTPS를 통해 파일을 다운로드하는 플러그인입니다.
사용 방법
파일을 저장소에 저장해야 하는 경우 DownloadFileToStorage 함수를 호출해야 합니다.
- Blueprint
- C++

UFileToStorageDownloader::DownloadFileToStorage(TEXT("https://example.com/File.zip"), TEXT("C:/Folder/File.zip"), 15.0f, TEXT(""), false,
FOnDownloadProgressNative::CreateLambda([](int64 BytesReceived, int64 ContentSize, float ProgressRatio)
{
UE_LOG(LogTemp, Log, TEXT("Download progress: %f"), ProgressRatio);
}), FOnFileToStorageDownloadCompleteNative::CreateLambda([](EDownloadToStorageResult Result, const FString& SavedPath, UFileToStorageDownloader* Downloader)
{
UE_LOG(LogTemp, Log, TEXT("Download complete, result: %s, saved path: %s"), *UEnum::GetValueAsString(Result), *SavedPath);
}));
파일을 저장하지 않고 다운로드된 내용에만 접근하려면 DownloadFileToMemory 함수를 호출해야 합니다.
- Blueprint
- C++

UFileToMemoryDownloader::DownloadFileToMemory(TEXT("https://example.com/File.zip"), 15.0f, TEXT(""), false,
FOnDownloadProgressNative::CreateLambda([](int64 BytesReceived, int64 ContentSize, float ProgressRatio)
{
UE_LOG(LogTemp, Log, TEXT("Download progress: %f"), ProgressRatio);
}), FOnFileToMemoryDownloadCompleteNative::CreateLambda([](const TArray64<uint8>& DownloadedContent, EDownloadToMemoryResult Result, UFileToMemoryDownloader* Downloader)
{
UE_LOG(LogTemp, Log, TEXT("Download complete, result: %s, DownloadedContent size: %d"), *UEnum::GetValueAsString(Result), DownloadedContent.Num());
}));
선택적으로, Content Type 필드에 MIME 타입을 입력하여 다운로드할 파일의 유형을 지정할 수 있습니다.
가장 일반적인 MIME 타입 목록은 여기에서 확인할 수 있습니다.
다운로드가 시작된 후에는 CancelDownload 함수를 사용하여 취소할 수 있습니다.
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
UE 5.4부터는 Timeout 매개변수가 다운로드 자체 중에 전체 다운로드 소요 시간이 Timeout을 초과하면 요청을 취소하는 방식으로 동작합니다. 이는 UE의 다소 버그에 가깝습니다. 큰 값(예: 3600초, 즉 1시간)을 지정하거나 Timeout을 완전히 비활성화하려면 0으로 지정하십시오.
추가 리소스
- Fab에서 구입하기
- Discord 지원 서버
- 플러그인 지원 및 맞춤형 개발: [email protected] (팀 및 조직을 위한 맞춤형 솔루션)