示例#1
0
        public async Task LoadBucketListAsync()
        {
            Loaded  = false;
            Buckets = await S3BrowserService.GetBucketListAsync(SearchText);

            Loaded = true;
        }
示例#2
0
 public async Task LoadFilesAsync()
 {
     Loaded    = false;
     Elements  = (await S3BrowserService.GetFileListAsync(BucketName, DecodedPrefix, SearchText, Size, Page * Size)).ToList();
     Loaded    = true;
     AllLoaded = Elements.Count < Size;
 }
示例#3
0
        public async Task DeleteFileAsync(string key)
        {
            var fileToRemove = Elements.First(f => f.Key == key);

            Elements.Remove(fileToRemove);
            await S3BrowserService.DeleteFileAsync(BucketName, key);
        }
示例#4
0
        public async Task DownloadFileAsync(string key)
        {
            var base64 = await S3BrowserService.GetContentBase64Async(BucketName, key);

            var fileName = key.Split('/').Last();
            await JSRuntime.Current.InvokeAsync <string>("downloadFile", fileName, base64);
        }
示例#5
0
        public async Task LoadMoreFilesAsync()
        {
            if (AllLoaded)
            {
                return;
            }
            Page++;
            var moreFiles = await S3BrowserService.GetFileListAsync(BucketName, DecodedPrefix, SearchText, Size, Page *Size);

            if (!moreFiles.Any())
            {
                AllLoaded = true;
                return;
            }

            Elements.AddRange(moreFiles);
        }
示例#6
0
 public void Connect()
 {
     S3BrowserService.Connect(S3Access);
 }