डाउनलोड प्रति चंक
यह HTTP के माध्यम से बाइनरी डेटा को स्ट्रीम के रूप में प्राप्त करते हुए, चंक दर चंक निरंत र डाउनलोड करना संभव है। प्रत्येक डाउनलोड के लिए चंक आकार निर्दिष्ट करें, और प्रत्येक डाउनलोड किए गए चंक के लिए एक OnComplete कॉलबैक प्राप्त करें।
- Blueprint
- C++
UFileToMemoryDownloader::DownloadFileToMemoryPerChunk(TEXT("https://www.example.com/some_file.raw"), 15.0f, TEXT(""), 52428800,
FOnDownloadProgressNative::CreateLambda([](int64 BytesReceived, int64 ContentSize, float ProgressRatio)
{
UE_LOG(LogTemp, Log, TEXT("Download progress: %lld/%lld (%f)"), BytesReceived, ContentSize, ProgressRatio);
}), FOnFileToMemoryChunkDownloadCompleteNative::CreateLambda([](const TArray64<uint8>& DownloadedContent, UFileToMemoryDownloader* Downloader)
{
// Handle the downloaded chunk here
UE_LOG(LogTemp, Log, TEXT("Downloaded chunk size: %lld"), DownloadedContent.Num());
}), FOnFileToMemoryAllChunksDownloadCompleteNative::CreateLambda([](EDownloadToMemoryResult Result, UFileToMemoryDownloader* Downloader)
{
UE_LOG(LogTemp, Log, TEXT("Download result: %s"), *UEnum::GetValueAsString(Result));
}));