asp.net-core - 文件上传一直显示“未选择文件”
问题描述
我有一个使用 BlazorInputFile 的简单文件上传。我可以添加一个文件,它会点击我指定的 onChange 函数,但是文件的名称永远不会出现在屏幕上,当我提交表单时,它说它是空的。
表格:
<EditForm Model="@Item" OnValidSubmit="@SubmitForm">
<DataAnnotationsValidator />
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>File</label>
<InputFile OnChange="LoadFile"/>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-success">Save changes</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal" @onclick="() => Close()">Close</button>
</div>
<ValidationSummary />
</EditForm>
@code {
public FormItem Item = new FormItem();
private IFileListEntry UploadedFile;
// So on change it gets in here and I can see that we have a item uploaded
private async Task LoadFile(IFileListEntry[] files)
{
if (files.Count() != 0)
{
UploadedFile = files.FirstOrDefault();
}
this.StateHasChanged();
}
protected async Task SubmitForm(EditContext editContext)
{
}
}
该类Item
有一个属性:
[Required]
public IFileListEntry File { get; set; }
我已经看到这可能是 BlazorInputFile 组件本身的问题,但我想知道是否有其他人遇到过这个问题?
当前使用 ASP.Net Core 3.1 运行 Blazor
解决方案
我认为问题来自项目版本,因为本文档说 blazorInputFile
适用于版本 5,但您的是 3.1
推荐阅读
- python - Python 中的新年混沌挑战
- django - 有什么方法可以通过查询集更新 ManyToMany 字段?
- ruby - Bundler:无法本地 Gemfile
- ruby - Ruby,删除超级数组
- javascript - 查找数组列表中的第一个匹配项
- javascript - 从 bootstrap-datepicker 获取日期并单独打印
- angular - Angular 8:如何将 formControlName 与 FormArray 一起使用
- r - 在 R 中使用 data.table,我可以从表中选择变量列的向量吗?
- asp.net-core - 在 EF7/.Net Core 3 中实现抽象 DbContext 是否有一个很好的模式,以避免跨项目重复共享实体/配置?
- java - Android:Flutter SDK 中的 CountDownTimer 等效项