我有一个关于使用Blazor-Wasm加载本地文件的问题。以下是读取文件大小的简单方法。但我一直得到一个例外";找不到文件"我一直在搜索,除了一些关于浏览器安全的内容外,没有找到任何结果。
<button class="btn btn-primary" @onclick="clikMe">Click me</button>
@code {
private void clikMe()
{
string file = "file:///C:/Users/user01/Downloads/test.txt";
long nowFileSize = new FileInfo(this.file).Length;
}
}
任何帮助都将不胜感激!
你应该试试这个
<InputFile OnChange="@((e) => OnChange(e))" />
<button @onclick="ReadFiles">Read File</button>
@code {
IReadOnlyList<IBrowserFile>? files = new List<IBrowserFile>();
void OnChange(InputFileChangeEventArgs e)
{
files = e.GetMultipleFiles();
}
async Task ReadFiles()
{
if (files != null)
{
foreach (var file in files)
{
// get the file size
var buffer = new byte[file.Size];
// read the text file
await file.OpenReadStream().ReadAsync(buffer);
// convert byte array to string
var content = System.Text.Encoding.UTF8.GetString(buffer);
// print results(content of file) to console
Console.WriteLine(content);
}
}
}
}