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 você 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 você 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 para download inserindo um tipo MIME no campo Tipo de Conteúdo.
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, observe que a partir da 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 o download exceder o Timeout, o que é um tanto quanto um bug na UE. Por favor, especifique um valor grande (como 3600 segundos, que é 1 hora) ou especifique-o como zero para desabilitar completamente o Timeout.
Recursos Adicionais
- Obtenha no Fab
- Suporte para Plugins & Desenvolvimento Personalizado: [email protected] (soluções sob medida para equipes e organizações)