Descripción general

Runtime Files Downloader es un plugin para descargar archivos a través de HTTP / HTTPS en tiempo de ejecución.
Cómo usarlo
Si necesitas guardar un archivo en el almacenamiento, entonces debes 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 necesitas guardar el archivo, sino solo obtener acceso al contenido descargado, entonces necesitas 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, puedes especificar el tipo de archivo a descargar ingresando un tipo MIME en el campo Content Type.
Una lista de los tipos MIME más comunes se encuentra aquí.
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 misma si el tiempo total empleado en descargar excede el Timeout, lo cual es algo así como un error en UE. Por favor, especifique un valor grande (como 3600 segundos, que es 1 hora) o especifíquelo como cero para deshabilitar el Timeout por completo.
Recursos Adicionales
- Consíguelo en Fab
- Servidor de soporte en Discord
- Soporte del Plugin y Desarrollo Personalizado: [email protected] (soluciones a medida para equipos y organizaciones)