抱歉问了这个基本问题。
图像将粘贴并显示在使用 Blazor Server 创建的网页上。
我想定期更新此显示的图像。(例如每秒更新一次)
该图像存储在 wwwroot / imageFiles 位置,名称为 PreviewImage.bmp。
具体来说,我想在替换这个wwwroot/imageFiles下的PreviewImage.bmp时,将网页上显示的图像切换为替换后的图像。
例如,当我将显示狗的 PreviewImage.bmp 更改为显示猫的 PreviewImage.bmp 时,我想切换网页上显示的图像。
我想知道是否可以使用 StateHasChanged () 更新图像;用计时器,但这不起作用。
<img src="@previewImg" />
@code{
private string previewImg = string.Empty;
private Timer timer = new(1000);
protected override void OnInitialized()
{
previewImg = @"imageFiles/PreviewImage.bmp";
timer.Elapsed += (sender, eventArgs) => OnTimerCallback();
timer.AutoReset = true;
timer.Start();
}
private void OnTimerCallback()
{
_ = InvokeAsync(() =>
{
previewImg = @"imageFiles/PreviewImage.bmp";
StateHasChanged();
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用 F5 键重新加载整个页面,图像将会更新。
有没有办法实现这种图像更新?
很抱歉,内容很难理解。
感谢您的建议。