在C#中使用WebAssembly讀取本地文件可以通過JavaScript的File API來實現。你可以編寫JavaScript代碼來讀取本地文件,然后將其與C#代碼進行交互。
以下是一個簡單的示例,演示了如何在C#中使用JavaScript來讀取本地文件:
function readFile(fileInputId) {
return new Promise((resolve, reject) => {
const fileInput = document.getElementById(fileInputId);
const file = fileInput.files[0];
const reader = new FileReader();
reader.onload = () => {
resolve(reader.result);
};
reader.onerror = () => {
reject(reader.error);
};
reader.readAsText(file);
});
}
using System;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
public class FileReader
{
[DllImport("__Internal")]
public static extern Task<string> ReadFile(string fileInputId);
public async Task<string> GetFileContent(string fileInputId)
{
try
{
string fileContent = await ReadFile(fileInputId);
Console.WriteLine(fileContent);
return fileContent;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return null;
}
}
}
<input type="file" id="fileInput" />
<script>
const fileReader = new FileReader();
fileReader.GetFileContent("fileInput").then(fileContent => {
// 在這里處理讀取到的文件內容
console.log(fileContent);
});
</script>
請注意,上述示例中的JavaScript代碼需要在支持File API的瀏覽器中運行。在使用WebAssembly時,建議使用Blazor框架來簡化和加速與JavaScript的交互。