我面临一个与用于文件上传的 Blazor 输入文件组件相关的小问题。
来源 - https://github.com/SteveSandersonMS/BlazorInputFile
Component Call -
<div class="form-control">
<InputFile OnChange="HandleFileSelected" />
</div>
Run Code Online (Sandbox Code Playgroud)
我能够使用此组件成功上传和删除文件。当我上传文件时,文件名显示在组件旁边,如下面的屏幕截图所示。
当我删除文件时,文件已成功删除,但文件名仍然显示在组件旁边。
我希望删除文件后应删除文件名。我尝试了几个选项,但没有运气示例 StateHasChanged();
是否可以只刷新特定组件?如何 ?
有人可以帮忙解决这个问题吗?(我不想使用javascript来实现解决方案)
当我尝试从列表上传文件时出现此错误
“错误:不存在 ID 为 1 的文件。文件列表可能已更改”
当我附加一个文件时它可以工作,但是当列表有多个文件时,我收到错误
我用来发送的电话是
调用函数
foreach (var item in fileList)
{
var Enow = item.GetMultipleFiles();
foreach (var _item in Enow)
{
output = await _IfileUpload.Upload(_item, NewGuid.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
被调用函数
public async Task<string> Upload(IBrowserFile entry, string UploadGuid)
{
try
{
var path = Path.Combine(Directory.GetCurrentDirectory(), "Uploads/" + UploadGuid, entry.Name);
var _path = Path.Combine(Directory.GetCurrentDirectory(), "Uploads/" + UploadGuid);
if (!Directory.Exists(_path))
{
System.IO.Directory.CreateDirectory(_path);
}
Stream stream = entry.OpenReadStream();
FileStream fs = File.Create(path);
await stream.CopyToAsync(fs);
stream.Close();
fs.Close();
return path;
}
catch (Exception …Run Code Online (Sandbox Code Playgroud) 我正在使用该元素将图像文件上传到我托管的 Blazor WASM 站点。该组件呈现一个带有“选择文件”字样的按钮。
我想用图像(或我自己的文本或其他任何内容)替换此按钮。我曾尝试使用 CSS 将背景图像设置为我想要使用的图像的 URL,并将按钮的背景颜色设置为“透明”,但这似乎并没有改变任何东西。
我已经开始从我的 Blazor WebAssembly 应用程序中收到此错误:
Blazor 应用程序“无法读取空错误的属性‘_blazorFilesById’”
我假设这与我正在使用的InputFile 组件有关,它一直工作正常。
我试过重新启动 VS,清理和重建,重新启动 IIS 并杀死 Chrome 都无济于事。什么可能导致这种情况?
我在使用 blazor 服务器将图像上传到应用程序时遇到问题。
我目前正在使用,BlazorInputFile因为我正在使用.Net Core 3.1
当我尝试上传一系列图像(100 张大约 500 kb 大小的图像)时,上传会中断并且图像会损坏。当上传目标文件夹中的图片中断时,总是这样:
这是我上传图像的代码:
<InputFile id="fileInput112" OnChange="SelectFiles" hidden multiple accept=".jpg, .jpeg, .png" />
@code{
private async void SelectFiles(IFileListEntry[] files)
{
var folderProductImage = "images/products/";
foreach (var item in files)
{
await Task.Run(() => UploadProductImage(item, folderProductImage));
}
}
private async Task UploadProductImage(IFileListEntry item, string destDirName)
{
string fileUploadPath = Path.Combine(destDirName, item.Name);
using (FileStream writer = new FileStream(fileUploadPath, FileMode.Create, FileAccess.ReadWrite))
{
await item.Data.CopyToAsync(writer);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想用“附加图标”替换输入文件的矩形。我尝试将图标的 URL 设置为 InputFile 的“背景图像”,但没有效果。 这仅演示了如何更改 InputFile 的颜色,并不完全是我所需要的。