1
ファイルの応答を送信してユーザーをリダイレクトすることはできますか?どのような手順が必要ですか?誰かがリソースや概要へのリンクを与えることができたらうれしいです。 私のシナリオでは、ユーザーである私は、次のようにしようとした後、アクションメソッドは、ユーザーASP.Net MVC5ダウンロードファイルとrediredt
をダウンロードして、リダイレクトするファイルを送信、ファイルのアクションメソッドをダウンロードするための要求を送信します。
[HttpGet]
[Authorize]
public ActionResult DownloadFile()
{
var currentUserId = User.Identity.GetUserId();
var invoices = _context.Invoices
.Where(x => x.OwnerId == currentUserId).ToList();
var directory = HttpContext.Server.MapPath("~/Temp");
var timeStamp = DateTime.Now.ToString("yyyy_MM_dd_HH_mm");
var fileName = string.Concat("myfile", "_", timeStamp, ".xlsx");
var filePath = Path.Combine(directory, fileName);
FileService fs = new FileService();
var file = fs.GenerateExcelFile(filePath, invoices);
Response.ClearHeaders();
Response.Headers.Add("Content-Disposition", "attachment; filename=" + fileName);
var contentType ="application/excel";
return File(filePath ,contentType);
// HOW do I send download file and return to view ??
}
クライアントとサーバーのアーキテクチャでは、応答が完了すると完了です。私が理解する限り、ファイルに応答したり、別のページにリダイレクトすることはできません。 JavascriptとおそらくAjaxを使った回避策を考えてみましょう。 – derloopkat
@derloopkat、ありがとう、私はjavascriptを使用していくつかの関連スレッドをスクラッチします。 – ryan