Übersicht

Runtime Files Downloader ist ein Plugin zum Herunterladen von Dateien über HTTP/HTTPS zur Laufzeit.
Verwendung
Wenn Sie eine Datei im Speicher speichern müssen, dann müssen Sie die Funktion DownloadFileToStorage aufrufen.
- 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);
}));
Wenn Sie die Datei nicht speichern müssen, sondern nur Zugriff auf den heruntergeladenen Inhalt benötigen, dann müssen Sie die Funktion DownloadFileToMemory aufrufen.
- 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());
}));
Optional können Sie den Typ der herunterzuladenden Datei angeben, indem Sie einen MIME-Typ im Feld Content Type eingeben.
Eine Liste der gängigsten MIME-Typen finden Sie hier.
Nachdem der Download gestartet wurde, können Sie ihn mit der Funktion CancelDownload abbrechen.
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
Bitte beachten Sie, dass ab UE 5.4 der Timeout-Parameter sich so verhält, dass er die Anfrage während des Downloads selbst abbricht, wenn die Gesamtzeit für den Download den Timeout überschreitet, was in UE gewissermaßen ein Fehler ist. Bitte geben Sie entweder einen großen Wert an (z. B. 3600 Sekunden, was 1 Stunde entspricht) oder geben Sie ihn als Null an, um den Timeout vollständig zu deaktivieren.
Zusätzliche Ressourcen
- Auf Fab erhältlich
- Discord-Support-Server
- Plugin-Support & Individuelle Entwicklung: [email protected] (maßgeschneiderte Lösungen für Teams & Organisationen)