Téléchargement par morceaux
Il est possible de télécharger continuellement des données binaires via HTTP par morceaux, en recevant les données binaires sous forme de flux. Spécifiez la taille des morceaux pour chaque téléchargement et recevez un callback OnComplete pour chaque morceau téléchargé.
- 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));
}));