标签: blazorinputfile

Blazor 输入文件组件(文件上传)

我面临一个与用于文件上传的 Blazor 输入文件组件相关的小问题。

来源 - https://github.com/SteveSandersonMS/BlazorInputFile

Component Call - 
  <div class="form-control">
       <InputFile OnChange="HandleFileSelected" />
  </div>
Run Code Online (Sandbox Code Playgroud)

我能够使用此组件成功上传和删除文件。当我上传文件时,文件名显示在组件旁边,如下面的屏幕截图所示。

在此输入图像描述

当我删除文件时,文件已成功删除,但文件名仍然显示在组件旁边。

我希望删除文件后应删除文件名。我尝试了几个选项,但没有运气示例 StateHasChanged();

是否可以只刷新特定组件?如何 ?

有人可以帮忙解决这个问题吗?(我不想使用javascript来实现解决方案)

file-upload asp.net-core blazor blazored blazorinputfile

7
推荐指数
1
解决办法
3万
查看次数

没有 ID 为 1 的文件。文件列表可能已更改 Blazor

当我尝试从列表上传文件时出现此错误

“错误:不存在 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)

c# blazor blazorinputfile

6
推荐指数
2
解决办法
2456
查看次数

我可以用另一个元素替换 Blazor 的 InputFile 组件显示的按钮吗?

我正在使用该元素将图像文件上传到我托管的 Blazor WASM 站点。该组件呈现一个带有“选择文件”字样的按钮。

我想用图像(或我自己的文本或其他任何内容)替换此按钮。我曾尝试使用 CSS 将背景图像设置为我想要使用的图像的 URL,并将按钮的背景颜色设置为“透明”,但这似乎并没有改变任何东西。

asp.net-core blazor blazorinputfile

6
推荐指数
1
解决办法
1800
查看次数

“无法读取属性 '_blazorFilesById' of null 错误”与 Blazor InputFile 组件

我已经开始从我的 Blazor WebAssembly 应用程序中收到此错误:

Blazor 应用程序“无法读取空错误的属性‘_blazorFilesById’”

我假设这与我正在使用的InputFile 组件有关,它一直工作正常。

我试过重新启动 VS,清理和重建,重新启动 IIS 并杀死 Chrome 都无济于事。什么可能导致这种情况?

c# blazor blazorinputfile blazor-webassembly

6
推荐指数
1
解决办法
817
查看次数

图片上传卡在 Blazor 服务器和 BlazorInputFile 上

我在使用 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)

c# .net-core blazor blazor-server-side blazorinputfile

5
推荐指数
0
解决办法
2097
查看次数

Blazor 中的自定义输入文件

我想用“附加图标”替换输入文件的矩形。我尝试将图标的 URL 设置为 InputFile 的“背景图像”,但没有效果。 仅演示了如何更改 InputFile 的颜色,并不完全是我所需要的。

c# blazor blazorinputfile

0
推荐指数
1
解决办法
3325
查看次数