Überblick

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, sondern nur auf den heruntergeladenen Inhalt zugreifen müssen, 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 in das Feld Content Type eingeben.
Eine Liste der häufigsten MIME-Typen ist hier aufgeführt.
Nachdem der Download gestartet wurde, können Sie ihn mithilfe der CancelDownload-Funktion abbrechen.
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
Bitte beachten Sie, dass der Timeout-Parameter ab UE 5.4 so funktioniert, dass die Anfrage während des Downloads selbst abgebrochen wird, wenn die Gesamtdauer des Downloads den Timeout überschreitet – was gewissermaßen ein Bug in UE ist. Geben Sie entweder einen großen Wert an (z. B. 3600 Sekunden, also 1 Stunde) oder setzen Sie ihn auf Null, um den Timeout vollständig zu deaktivieren.
Zusätzliche Ressourcen
- Auf Fab erwerben
- Plugin-Support und individuelle Entwicklung: [email protected] (maßgeschneiderte Lösungen für Teams und Organisationen)