Resumen

Runtime Files Downloader es un plugin para descargar archivos a través de HTTP / HTTPS en tiempo de ejecución.
Cómo usar
Si necesita guardar un archivo en el almacenamiento, entonces debe llamar a la función 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 no necesita guardar el archivo, sino solo acceder al contenido descargado, entonces debe llamar a la función 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());
}));
Opcionalmente, puede especificar el tipo de archivo a descargar ingresando un tipo MIME en el campo Content Type.
Aquí se muestra una lista de los tipos MIME más comunes.
Después de que la descarga haya comenzado, puedes cancelarla usando la función CancelDownload.
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
Tenga en cuenta que a partir de UE 5.4, el parámetro Timeout se comporta de manera que cancela la solicitud durante la descarga si el tiempo total de descarga supera el Timeout, lo que es algo así como un error en UE. Especifique un valor grande (como 3600 segundos, que es 1 hora) o especifíquelo como cero para deshabilitar completamente el Timeout.
Recursos adicionales
- Consíguelo en Fab
- Soporte de plugins y desarrollo personalizado: [email protected] (soluciones personalizadas para equipos y organizaciones)