Получение источника элемента img периодически приводит к отключению всего приложения от сервера. ⇐ Javascript
-
Гость
Получение источника элемента img периодически приводит к отключению всего приложения от сервера.
Я установил изображение в свой img в Blazor:
общедоступная статическая строка ImageResult; частный входной файл? входной файл; частный ElementReference предварительный просмотрImageElem; частная асинхронная задача ShowPreview() => await JS.InvokeVoidAsync( "previewImage", inputFile!.Element, PreviewImageElem); Все работает нормально. Изображение отображается.
Но когда я теперь хочу использовать изображение, я пробую следующее:
частная асинхронная проверка задач() { var result = await JS.InvokeAsync("captureImage"); если (результат == null) return; если (result.Length < 20) { возвращаться; } еще { строковый вывод = result.Substring(result.IndexOf(',') + 1); ImageResult = вывод; } } но в большинстве случаев здесь, в части результата, это не удается.
За этим стоит эта функция:
function captureImage() { вар холст = document.createElement('canvas'); var img = document.getElementById('capturedImage'); холст.ширина = img.ширина; холст.высота = img.height; var ctx = Canvas.getContext('2d'); ctx.drawImage(img, 0, 0, img.width, img.height); return Canvas.toDataURL('image/png'); } Иногда это ничего не возвращает, но в большинстве случаев соединение с сервером отключается, а затем подключается снова. Каждый последующий вызов js завершается сбоем и никогда не выполняется.
Но в редких случаях это работает нормально.
Что мне здесь не хватает?
Я установил изображение в свой img в Blazor:
общедоступная статическая строка ImageResult; частный входной файл? входной файл; частный ElementReference предварительный просмотрImageElem; частная асинхронная задача ShowPreview() => await JS.InvokeVoidAsync( "previewImage", inputFile!.Element, PreviewImageElem); Все работает нормально. Изображение отображается.
Но когда я теперь хочу использовать изображение, я пробую следующее:
частная асинхронная проверка задач() { var result = await JS.InvokeAsync("captureImage"); если (результат == null) return; если (result.Length < 20) { возвращаться; } еще { строковый вывод = result.Substring(result.IndexOf(',') + 1); ImageResult = вывод; } } но в большинстве случаев здесь, в части результата, это не удается.
За этим стоит эта функция:
function captureImage() { вар холст = document.createElement('canvas'); var img = document.getElementById('capturedImage'); холст.ширина = img.ширина; холст.высота = img.height; var ctx = Canvas.getContext('2d'); ctx.drawImage(img, 0, 0, img.width, img.height); return Canvas.toDataURL('image/png'); } Иногда это ничего не возвращает, но в большинстве случаев соединение с сервером отключается, а затем подключается снова. Каждый последующий вызов js завершается сбоем и никогда не выполняется.
Но в редких случаях это работает нормально.
Что мне здесь не хватает?
Мобильная версия