Aperçu

Runtime Files Downloader est un plugin pour télécharger des fichiers via HTTP / HTTPS à l'exécution.
Comment utiliser
Si vous devez enregistrer un fichier dans le stockage, alors vous devez appeler la fonction DownloadFileToStorage.
- 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);
}));
Si vous n'avez pas besoin de sauvegarder le fichier, mais seulement d'accéder au contenu téléchargé, alors vous devez appeler la fonction DownloadFileToMemory.
- 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());
}));
En option, vous pouvez spécifier le type de fichier à télécharger en entrant un type MIME dans le champ Content Type.
Une liste des types MIME les plus courants est répertoriée ici.
Une fois le téléchargement commencé, vous pouvez l'annuler en utilisant la fonction CancelDownload.
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
Veuillez noter qu'à partir de UE 5.4, le paramètre Timeout se comporte de manière à annuler la demande pendant le téléchargement lui-même si le temps total nécessaire au téléchargement dépasse le Timeout, ce qui est en quelque sorte un bug dans UE. Veuillez soit spécifier une grande valeur (comme 3600 secondes, soit 1 heure) ou la spécifier à zéro pour désactiver complètement le Timeout.
Ressources supplémentaires
- Obtenez-le sur Fab
- Support de plugin et développement personnalisé: [email protected] (solutions sur mesure pour équipes et organisations)