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/
我正在处理 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/