Abd*_*lah 5 c# browser blazor blazor-server-side
我正在尝试使用 Blazor 做一些事情,但我还是个新手。我正在尝试获取文件流以下载到浏览器。将文件从 Blazor 下载到浏览器的最佳方式是什么?
我试过在我的剃刀视图中使用一种方法来返回一个流,但没有用。
//In my Blazor view
@code{
private FileStream Download()
{
//get path + file name
var file = @"c:\path\to\my\file\test.txt";
var stream = new FileStream(test, FileMode.OpenOrCreate);
return stream;
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码没有给我任何东西,甚至没有错误
另一种解决方案是使用endpoints.MapControllerRoute
. 不过,这仅适用于服务器端 blazor。
前任:
endpoints.MapBlazorHub();
endpoints.MapControllerRoute("mvc", "{controller}/{action}");
endpoints.MapFallbackToPage("/_Host");
Run Code Online (Sandbox Code Playgroud)
然后添加一个控制器。例如:
public class InvoiceController : Controller
{
[HttpGet("~/invoice/{sessionId}")]
public async Task<IActionResult> Invoice(string sessionId, CancellationToken cancel)
{
return File(...);
}
}
Run Code Online (Sandbox Code Playgroud)
在 .razor 文件中的用法:
async Task GetInvoice()
{
...
Navigation.NavigateTo($"/invoice/{orderSessionId}", true);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7454 次 |
最近记录: |