අපගේ යෙදුම්වල බොහෝ වාරයක් අපට Files Upload කිරීමට අවශ්යය වේ. ඒ සඳහා මෙය හොඳම ක්රමයවනු නිසැකය. Platforms සඳහා සැලකිය යුතු performance ලබාදීමට සෑම tool එකකම Native Tools භාවිතා කරනු ලැබේ.
මෙහිදී මා කතා කිරීමට සූදානම් වන්නේ Plugin.FileUploader නැමැති Nuget Package එක පිළිබඳවයි.එය භාවිතා කිරීම ආරම්භ කිරීම සඳහා ඔබේ project එකේ වෙනවනම ඇති Native Projects සඳහා මෙම Nuget Package එක ස්ථාපන කරගන්න. අවශ්ය නම් Portable Class Library Project එකෙත් මෙම Nuget Package එක ස්ථාපන කරගන්න.
Nuget Package එක මෙතනින් Download කරගන්න.
භාවිතා කරන අයුරු
මෙහිදී file upload කිරීම සඳහා ඔබට file එකේ path එක භාවිතයෙනුත්, file එක byte වලට convert කිරීමෙනුත් සිදු කල හැකිය. මෙහිදි multi part request එකක් සඳහා අවශ්යවන header සැකසුම් ද සිදු කල හැකිවේ.
File Path එක මඟින් Upload කිරීම
1 2 3 4 5 |
CrossFileUploader.Current.UploadFileAsync("<URL HERE>", new FilePathItem("<REQUEST FIELD NAME HERE>","<FILE PATH HERE>"), new Dictionary<string, string>() { {"<HEADER KEY HERE>" , "<HEADER VALUE HERE>"} } ); |
Bytes මඟින් upload කිරීම
1 2 3 4 5 6 7 |
CrossFileUploader.Current.UploadFileAsync("<URL HERE>", new FileBytesItem("<REQUEST FIELD NAME HERE>","<FILE BYTES HERE>","<FILE NAME HERE>"), new Dictionary<string, string>() { {"<HEADER KEY HERE>" , "<HEADER VALUE HERE>"} } ); |
iOS
iOS Project එකේ AppDelegate.cs file එකට පහත ඇති code එකක් යොදාන්න
1 2 3 4 |
public override void HandleEventsForBackgroundUrl(UIApplication application, string sessionIdentifier, Action completionHandler) { FileUploadManager.UrlSessionCompletion = completionHandler; } |
ඉහත සැකසුම් කිරීමෙන් ඔබට සාර්ථකව file upload කිරීමේ පහසු කම ඔබගේ Xamarin App එකට ලැබෙනු ඇත. මේ සියල්ල සිදුකිරීමට ඔබේ solution එකේ සියලු native projects වලට Plugin.FileUploader Nuget Package එක එක් කර තිබීම අනිවාර්යය වේ.
තවදුරටත් මෙම Nuget Package එකේ නිර්මාතෘ පවසන අන්දමට ඉදිරියේදී එන අනුවාද සමඟ පහත පහසුකම්ද ලබාදෙනු ඇත.
- Android background uploading support
- Binary upload support
- Handling File Upload Queue
- FTP Upload support
මෙම Nuget Package එකේ Open Source Project එකට පහතින් යන්න Contribute කරන්න.
https://github.com/CrossGeeks/FileUploaderPlugin