Blazor - 无法将文件保存到文件夹 wwwroot/img

Blazor - Not able to save file in folder wwwroot/img

我正在处理 Blazor 应用程序,无法将文件存储在 wwwroot/img 中。谁能帮忙。 想要了解行为,我能够在控制台上看到成功消息(文件已复制。)但是无法在文件夹中看到文件。

将尝试其他替代方案,但将其发布以了解为什么即使在成功执行文件后仍未存储文件。

RAZOR 组件

    <InputFile OnChange="HandleFileSelected" />

代码部分

    private async Task<bool> HandleFileSelected(IFileListEntry[] files)
    {
        try
        {
            IFileListEntry ufile = files.FirstOrDefault();

            if (ufile != null && ufile.Size > 0)
            {
                var fileName = Path.GetFileName(ufile.Name);
                var filePath = @"ProjectPath\wwwroot\img\"+ fileName; //ProjectPath -- path here

                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    await ufile.Data.CopyToAsync(fileStream);
                    Console.WriteLine("File copied.");
                }
                return true;
            }
            return false;
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error "+ ex.Message);
            return false;
        }
    }

控制台消息

WASM:文件已复制。 //实际上没有文件复制到路径。

因为 Blazor WASM 就像任何其他 SPA 应用程序一样。该应用程序不在服务器上 运行,而是在客户端网络浏览器中。这就是文件未保存在服务器上的原因。如果要将文件保存到服务器,则需要通过 API.

之类的方式与服务器通信

以下是如何使用 WASM 上传文件的示例: https://remibou.github.io/Upload-file-with-Blazor/