web-dev-qa-db-ja.com

Blazor Serverサイドからファイルをダウンロードする方法

私は多くのデータを作成するサーバーサイドブレゾールアプリを持っています、そしてユーザーがボタンをクリックするとそのデータを使用してExcelファイルを生成します。それはすべてうまく機能しています。しかし、私の質問はそのメモリ内ファイルをダウンロードする適切な方法は何ですか?私はそれをWebサーバーディスクに保存することができて、それをダウンロードするためのリダイレクトまたはそのようなものをすることができます私はあなたが必要ないならばファイルをディスクに保存する必要はないと思うでしょう。

4
devlife

私が使用して終了した解決策は、JS相互づくりがそれをダウンロードしたファイルにリダイレクトされました。

public async Task DownloadFileAsync(string path)
{
    await Js.InvokeAsync<string>("downloadFile", path);
}

// In JS
function downloadFile(filename) {
    location.href = '/api/downloads/' + filename;
}
 _
4
devlife