개요

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에서 구매하기
- 플러그인 지원 및 맞춤 개발: [email protected] (팀 및 조직을 위한 맞춤 솔루션)
Join our Discord
online · support