Visão Geral

Runtime Files Downloader é um plugin para baixar arquivos via HTTP / HTTPS em tempo de execução.
Como usar
Se você precisa salvar um arquivo no armazenamento, então precisa chamar a função 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);
}));
Se você não precisa salvar o arquivo, mas apenas obter acesso ao conteúdo baixado, então precisa chamar a função 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, você pode especificar o tipo de arquivo a ser baixado inserindo um tipo MIME no campo Content Type.
Uma lista dos tipos MIME mais comuns está listada aqui.
Após o download ter iniciado, você pode cancelá-lo usando a função CancelDownload.
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
Por favor, note que a partir do UE 5.4, o parâmetro Timeout se comporta de uma forma que cancela a solicitação durante o próprio download se o tempo total gasto para baixar exceder o Timeout, o que é um tanto um bug no UE. Por favor, especifique um valor grande (como 3600 segundos, que é 1 hora) ou especifique-o como zero para desativar o Timeout completamente.
Recursos Adicionais
- Obtenha no Fab
- Servidor de suporte no Discord
- Suporte do Plugin & Desenvolvimento Personalizado: [email protected] (soluções personalizadas para equipes e organizações)