अवलोकन
Runtime Files Downloader एक प्लगइन है जो रनटाइम पर HTTP/HTTPS के माध्यम से फाइल्स डाउनलोड करने के लिए है।
उपयोग कैसे करें
अगर आपको स्टोरेज में फाइल सेव करने की आवश्यकता है, तो आपको DownloadFileToStorage फंक्शन को कॉल करना होगा।
- ब्लूप्रिंट
- 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 से शुरू होकर, टाइमआउट पैरामीटर इस तरह से व्यवहार करता है कि यदि डाउनलोड करने में लिया गया कुल समय टाइमआउट से अधिक हो जाता है तो यह डाउनलोड के दौरान ही अनुरोध को रद्द कर देता है, जो UE में एक प्रकार की बग है। कृपया या तो एक बड़ा मान निर्दिष्ट करें (जैसे 3600 सेकंड, जो 1 घंटा है) या इसे शून्य के रूप में निर्दिष्ट करें ताकि टाइमआउट को पूरी तरह से अक्षम किया जा सके।
अतिरिक्त संसाधन
- Fab पर प्राप्त करें
- Discord सपोर्ट सर्वर
- कस्टम विकास: [email protected] (टीमों और संगठनों के लिए अनुरूप समाधान)