Genel Bakış

Runtime Files Downloader, HTTP / HTTPS üzerinden çalışma zamanında dosya indirmek için bir eklentidir.
Nasıl kullanılır
Bir dosyayı depolamaya kaydetmeniz gerekiyorsa, DownloadFileToStorage işlevini çağırmanız gerekir.
- 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);
}));
Dosyayı kaydetmeniz gerekmiyorsa, ancak indirilen içeriğe erişmek istiyorsanız, DownloadFileToMemory işlevini çağırmanız gerekir.
- 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());
}));
İsteğe bağlı olarak, Content Type alanına bir MIME türü girerek indirilecek dosyanın türünü belirtebilirsiniz.
En yaygın MIME türlerinin bir listesi burada listelenmiştir.
İndirme başladıktan sonra, CancelDownload işlevini kullanarak iptal edebilirsiniz.
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
Lütfen dikkat edin ki UE 5.4'ten itibaren, Timeout parametresi, indirme işlemi sırasında, indirmenin toplam süresi Timeout değerini aşarsa isteği iptal edecek şekilde davranır, ki bu UE'de bir tür hatadır. Lütfen ya büyük bir değer belirtin (örneğin 3600 saniye, yani 1 saat) ya da Timeout'u tamamen devre dışı bırakmak için sıfır olarak belirtin.
Ek Kaynaklar
- Fab'den Alın
- Eklenti Desteği ve Özel Geliştirme: [email protected] (ekipler ve kuruluşlar için özel çözümler)