概要

Runtime Files Downloader は、ランタイム時に HTTP / HTTPS 経由でファイルをダウンロードするためのプラグインです。
使い方
ストレージにファイルを保存する必要がある場合、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);
}));
ファイルを保存する必要がなく、ダウンロードしたコンテンツにアクセスするだけでよい場合は、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());
}));
任意で、Content TypeフィールドにMIMEタイプを入力することで、ダウンロードするファイルの種類を指定できます。
最も一般的なMIMEタイプのリストがここに記載されています。
ダウンロードが開始された後、CancelDownload 関数を使用してキャンセルできます。
- Blueprint
- C++

// Assuming Downloader is a UE reference to a UFileToStorageDownloader or UFileToMemoryDownloader object
Downloader->CancelDownload();
UE 5.4以降、Timeoutパラメータの動作が変更され、ダウンロード全体の所要時間がTimeoutを超えるとダウンロード中でもリクエストがキャンセルされるようになりました。これはUEのある種のバグです。大きな値(例:3600秒(1時間))を指定するか、0を指定してTimeoutを完全に無効にしてください。
追加リソース
- Fabで入手
- プラグインサポートとカスタム開発:[email protected](チームや組織向けのカスタマイズされたソリューション)
Join our Discord
online · support