Übersicht
Runtime Files Downloader ist ein Plugin zum Herunterladen von Dateien über HTTP/HTTPS zur Laufzeit.
Verwendung
Wenn Sie eine Datei im Speicher ablegen müssen, rufen Sie die Funktion DownloadFileToStorage auf.
- 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 auf die heruntergeladenen Inhalte zugreifen möchten, 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 Dateityp für den Download 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 so funktioniert, dass die Anfrage während des Downloads selbst abgebrochen wird, wenn die gesamte Downloadzeit den Timeout überschreitet, was eher ein Bug in UE ist. Bitte geben Sie entweder einen großen Wert an (z. B. 3600 Sekunden, was 1 Stunde entspricht) oder setzen Sie ihn auf null, um den Timeout komplett zu deaktivieren.
Zusätzliche Ressourcen
- Auf Fab erhältlich
- Discord-Support-Server
- Individuelle Entwicklung: [email protected] (maßgeschneiderte Lösungen für Teams & Organisationen)