diff --git a/src/BootstrapBlazor.Shared/Locales/en-US.json b/src/BootstrapBlazor.Shared/Locales/en-US.json index c1090bbe72b301d13ea60436989835860c03edf4..50bcac2bb873781ebe503a57946839423024aaba 100644 --- a/src/BootstrapBlazor.Shared/Locales/en-US.json +++ b/src/BootstrapBlazor.Shared/Locales/en-US.json @@ -107,5 +107,11 @@ "BootstrapBlazor.Shared.Pages.Components.ThemeChooser": { "Title": "Click to choose theme", "HeaderText": "Themes" + }, + "BootstrapBlazor.Shared.Pages.Uploads.Person": { + "Name": "Name", + "Name.Required": "{0} is required", + "Picture": "File", + "Picture.Required": "{0} is required" } } diff --git a/src/BootstrapBlazor.Shared/Locales/zh-CN.json b/src/BootstrapBlazor.Shared/Locales/zh-CN.json index 571c3e377df8968dcc02f045b879b7e741b6bda7..00deeb6399c6552cb0ecc2cac4b2ea235d818913 100644 --- a/src/BootstrapBlazor.Shared/Locales/zh-CN.json +++ b/src/BootstrapBlazor.Shared/Locales/zh-CN.json @@ -107,5 +107,11 @@ "BootstrapBlazor.Shared.Pages.Components.ThemeChooser": { "Title": "点击切换主题", "HeaderText": "请选择主题" + }, + "BootstrapBlazor.Shared.Pages.Uploads.Person": { + "Name": "姓名", + "Name.Required": "{0}不能为空", + "Picture": "上传文件", + "Picture.Required": "上传文件不能为空" } } diff --git a/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor b/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor index 7f1b76e8b21b9b5576b0a3eb186423feb0b86cc1..25098198aeaedf7b5d0d266db83223b7c43b8c19 100644 --- a/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor +++ b/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor @@ -17,7 +17,7 @@
- +
@@ -48,13 +48,13 @@

点击 浏览按钮 选择文件上传,本例中设置 IsMultiple=true 可多选文件进行上传

- +

设置 IsSingle 时,仅可以上传一张图片或者文件

- +
@@ -62,7 +62,7 @@
- +
@@ -70,7 +70,7 @@
- +
@@ -79,24 +79,31 @@

卡片形式头像框

- +

圆形头像框

- +

设置 IsSingle 时,仅可以上传一张图片或者文件

- +

组件提供了 Accept 属性用于设置上传文件过滤功能,本例中圆形头像框接受 GIF 和 JPEG 两种图像,设置 Accept="image/gif, image/jpeg",如果不限制图像的格式,可以写为:Accept="image/*",该属性并不安全还是应该是使用 服务器端验证 进行文件格式验证

相关文档:[Accept 属性详解] [Media Types 详细列表]

- + +
+
+
+
+

通过 DefaultFileList 属性设置预览地址 PreUrl 即可

+
@@ -114,19 +121,19 @@

本例中设置 ShowProgress=true 显示上传进度条

- +

设置 IsSingle 时,仅可以上传一张图片或者文件

- +
- + diff --git a/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor.cs b/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor.cs index e64b9ae55711732bdeda2238ba546f310c77592b..5a74a1e0f1b2120634e725abf210e870612fb202 100644 --- a/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor.cs +++ b/src/BootstrapBlazor.Shared/Pages/Samples/Uploads.razor.cs @@ -34,6 +34,8 @@ namespace BootstrapBlazor.Shared.Pages [NotNull] private IOptions? SiteOptions { get; set; } + private List PreviewFileList { get; } = new(new[] { new UploadFile { PrevUrl = "_content/BootstrapBlazor.Shared/images/Argo.png" } }); + private Logger? Trace { get; set; } private IEnumerable DefaultFormatFileList { get; } = new List() @@ -191,12 +193,10 @@ namespace BootstrapBlazor.Shared.Pages private class Person { - [Display(Name = "姓名")] [Required] [StringLength(20, MinimumLength = 2)] public string Name { get; set; } = "Blazor"; - [Display(Name = "上传文件")] [Required] [FileValidation(Extensions = new string[] { ".png", ".jpg", ".jpeg" }, FileSize = 50 * 1024)] public IBrowserFile? Picture { get; set; } diff --git a/src/BootstrapBlazor/Attributes/FileValidationAttribute.cs b/src/BootstrapBlazor/Attributes/FileValidationAttribute.cs index e15b90e33c48605033c044de9ffc17129c089c2b..a6e5be0629d3b36f5cd4282bb2b944022a63c2ea 100644 --- a/src/BootstrapBlazor/Attributes/FileValidationAttribute.cs +++ b/src/BootstrapBlazor/Attributes/FileValidationAttribute.cs @@ -45,7 +45,7 @@ namespace BootstrapBlazor.Components var file = (IBrowserFile?)value; if (file != null) { - Localizer = JsonStringLocalizerFactory.CreateLocalizer(); + Localizer = JsonStringLocalizerFactory.CreateLocalizer>(); if (Extensions.Any() && !Extensions.Contains(Path.GetExtension(file.Name), StringComparer.OrdinalIgnoreCase)) { var errorMessage = Localizer?["FileExtensions", string.Join(", ", Extensions)]; diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 0d32a6532f252919444f46e5efcadc21191f2235..ba3f45dde7ea84105ed6b4ff8bdb098b307a6f13 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -3,7 +3,7 @@ true logo.png - 5.0.23-beta01 + 5.0.23-beta03 https://gitee.com/LongbowEnterprise/BootstrapBlazor/wikis diff --git a/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor b/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor index 79a28a0d00bc254301b0a757e26a479fb10df7cc..711ae72c65b863e7f1746176b32b575d3340bcb4 100644 --- a/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor +++ b/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor @@ -1,6 +1,11 @@ @namespace BootstrapBlazor.Components -@inherits MultipleUploadBase +@typeparam TValue +@inherits MultipleUploadBase +@if (IsShowLabel) +{ + +}
@foreach (var item in UploadFiles) diff --git a/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor.cs b/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor.cs index b87d972a807a9714dababb224dfe81e669cd7839..2f1280d0583c10dda345416466d280770d8a1460 100644 --- a/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor.cs +++ b/src/BootstrapBlazor/Components/Upload/AvatarUpload.razor.cs @@ -11,7 +11,7 @@ namespace BootstrapBlazor.Components /// /// /// - public sealed partial class AvatarUpload + public sealed partial class AvatarUpload { /// /// @@ -60,7 +60,7 @@ namespace BootstrapBlazor.Components /// protected override async Task OnFileChange(InputFileChangeEventArgs args) { - CurrentValue = args.File; + //CurrentValue = args.File; var file = new UploadFile() { diff --git a/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor b/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor index ecae4665d9bff1bae51d014d3e5d491c8bb7bfe3..81315c8423f3c55a1a0fef45de7f314c27be5e2c 100644 --- a/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor +++ b/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor @@ -1,6 +1,11 @@ @namespace BootstrapBlazor.Components -@inherits ButtonUploadBase +@typeparam TValue +@inherits ButtonUploadBase +@if (IsShowLabel) +{ + +}