在您的Blazor服务器项目中使用以下代码:
using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using System.Threading.Tasks;
public class DownloadService : IDownloadService { private readonly IJSRuntime _jsRuntime; private readonly NavigationManager _navigationManager;
public DownloadService(IJSRuntime jsRuntime, NavigationManager navigationManager)
{
_jsRuntime = jsRuntime;
_navigationManager = navigationManager;
}
public async Task DownloadFile(string filePath)
{
var url = _navigationManager.ToAbsoluteUri(filePath).ToString();
await _jsRuntime.InvokeVoidAsync("downloadFile", url);
}
}
public interface IDownloadService { Task DownloadFile(string filePath); }
确保您在Index.html页面中引用了以下脚本:
现在可以使用以下代码在页面中调用DownloadFile方法:
@inject IDownloadService downloadService
这将启动浏览器的原生文件下载对话框,并使文件下载在Brave浏览器中正常工作。
上一篇:Blazor服务器范围服务不同。
下一篇:Blazor服务器和异步