/// <summary> /// /// </summary> /// <param name="args"></param> /// <returns></returns> protected override async Task OnFileChange(InputFileChangeEventArgs args) { CurrentFile = new UploadFile() { OriginFileName = args.File.Name, Size = args.File.Size, File = args.File, Uploaded = false }; CurrentFile.ValidateId = $"{Id}_{CurrentFile.GetHashCode()}"; if (IsSingle) { // 单图片模式 DefaultFileList?.Clear(); UploadFiles.Clear(); } UploadFiles.Add(CurrentFile); await base.OnFileChange(args); // ValidateFile 后 IsValid 才有值 CurrentFile.IsValid = IsValid; if (OnChange != null) { await OnChange(CurrentFile); } else { await CurrentFile.RequestBase64ImageFileAsync(CurrentFile.File.ContentType, 320, 240); } }
/// <summary> /// 获得当前图片集合 /// </summary> /// <returns></returns> protected virtual List <UploadFile> GetUploadFiles() { var ret = new List <UploadFile>(); if (IsSingle) { if (DefaultFileList?.Any() ?? false) { ret.Add(DefaultFileList.First()); } if (ret.Count == 0 && UploadFiles.Any()) { ret.Add(UploadFiles.First()); } } else { if (DefaultFileList != null) { ret.AddRange(DefaultFileList); } ret.AddRange(UploadFiles); } return(ret); }
/// <summary> /// OnFileDelete 回调委托 /// </summary> /// <param name="item"></param> /// <returns></returns> protected override async Task <bool> OnFileDelete(UploadFile item) { var ret = await base.OnFileDelete(item); if (ret) { UploadFiles.Remove(item); if (!string.IsNullOrEmpty(item.ValidateId)) { await JSRuntime.InvokeVoidAsync(null, "bb_tooltip", item.ValidateId, "dispose"); } if (DefaultFileList != null) { DefaultFileList.Remove(item); } } return(ret); }
/// <summary> /// 清空上传列表方法 /// </summary> public override void Reset() { DefaultFileList?.Clear(); base.Reset(); }