私はDoddle Reportをテストして、IEnumerableオブジェクトからいくつかのレポートを生成します。私はこのようなリンクを生成する必要がありますasp.net MVCでファイルをダウンロードするためのリンクを生成するには?
PDF - http://myserver.com/reports/ProductsReport.pdf
質問はどうすればいいですか?
終了Doddle Reportを使用して、del ExcelをXML形式で生成します。
私はDoddle Reportをテストして、IEnumerableオブジェクトからいくつかのレポートを生成します。私はこのようなリンクを生成する必要がありますasp.net MVCでファイルをダウンロードするためのリンクを生成するには?
PDF - http://myserver.com/reports/ProductsReport.pdf
質問はどうすればいいですか?
終了Doddle Reportを使用して、del ExcelをXML形式で生成します。
このtutorialをチェックすると、別のアクション結果が返されます。
ASP.NET MVCフレームワークは、以下を含むアクションの結果のいくつかのタイプをサポートしています。
<h2>List Of Reports</h2>
<ul>
<% foreach (var report in Model){ %>
<li><a href="<%= Html.BuildUrlFromExpression<ReportController>(r => r.Reports(report.Filename)) %>"><%=report.Filename %></a></li>
<% } %>
</ul>
短い道が、これは動作します:多分このよう
含まれているリンクが無効です。私が参照していたページはここで見つけることができると思います。 http://www.asp.net/mvc/tutorials/controllers-and-routing/aspnet-mvc-controllers-overview-cs – Carth
AFAIK、これはMVCでこれを行うことについて特別なことは何もありません。 PDFファイルを生成し、作成したファイルにリダイレクトするハンドラを使用して、フォームにLinkButtonを作成します。
その後、ファイルをブラウザで開くことができます** DOWNLOADABLE ** – Rzassar
何か。
MVC 5で似たようなことをしていましたが、FilePathResultをJ.Wとして使用しました。
CSHTML:
@Html.ActionLink("Download Here", "DownloadExampleFiles", "Product", new { fileName = "variation-example" }, new { @target = "_blank" })
ProductController:
public FilePathResult DownloadExampleFiles(string fileName)
{
return new FilePathResult(string.Format(@"~\Files\{0}", fileName + ".txt"), "text/plain");
}
ファイルをダウンロードは簡単に/非常に愚かなことのようです、しかし、MVCに新しいいる人のために、そうではありません。このアプローチは、MVCを使用している間は最高になると思います。
PS:強制的に.txtを例として使用しました。あなたは特定のファイルを取得するために何をしているのかを行う必要があります。
これがセキュリティの問題につながる可能性があるのではないかと思いますか?私が ".. \ App_Data \ secretfile.mdf"のようなfileNameを持つコントローラを呼び出すと、セキュリティを迂回し、通常はアクセスできないディレクトリにアクセスできますか?もちろん、これはファイル名やサーバ上のどこにあるのか(あるいは多くの試行錯誤)に依存します。そうでない場合は素晴らしい解決策に見えます。 –
ええ、あなたは正しいです、私は非常に速い例でしたが、あなたがダウンロードできるようにするフォルダに重要なファイルを置いてはいけないと考えても、ファイル全体をパラメータとして送信することは良い考えではありませんファイル。私は強制的に例を更新しました。txt =) –
素敵でシンプルです。私はちょうどFileDownloadNameプロパティの設定を追加しなければならなかった、これは完璧な解決策でした – pjdupreez
生成したいこのリンクについてはどうですか?ちょうどURL、または実際のダウンロードリンク? –
リンクを生成してから、コントローラでアクションを呼び出す必要があります。 –