Здравствуйте, я пытаюсь загрузить файл из локального хранилища с помощью FileReader
api. Я протестировал js
метод прямо на HTML
странице, и он работает.
Однако при вызове с Blazor
- JSRuntime
я получаю следующую ошибку:
'Cannot read property 'files' of undefined
TypeError: Cannot read property 'files' of undefined
JS
window.methods = {
fileChange:function(event) {
var file = event.target.files[0];
console.log("file retrieved");
var reader = new FileReader();
reader.onload = function (event) {
console.log(reader.result);
};
reader.readAsText(file);
}
}
CSHTML
<input type="file" onchange="@(async(x)=>await onFileChange(x))"/>
public async Task onFileChange(UIChangeEventArgs ev) {
var str=await JSRuntime.Current.InvokeAsync<string>("methods.fileChange", ev.Value);
}
P.S Итак, в соответствии с ошибкой метод вызывается успешно, но получает неопределенное значение. Нужно ли мне выполнять приведение или что-то еще, когда я использую InvokeAsync
?
Мне нужно получить содержимое файла.