asp.net-mvc – 同时发送文件并重定向到新页面的MVC方式是什么?
发布时间:2020-05-24 09:55:01 所属栏目:asp.Net 来源:互联网
导读:我有一个用户必须填写并提交的表格.控制器操作执行一些操作并确定用户可以拥有一个文件,因此重定向到另一个操作,即FilePathResult. [CaptchaValidator] [AcceptVerbs(HttpVerbs.Post)] public ActionResult Index(FormCollection collection) { // do
|
我有一个用户必须填写并提交的表格.控制器操作执行一些操作并确定用户可以拥有一个文件,因此重定向到另一个操作,即FilePathResult. [CaptchaValidator]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection collection)
{
// do some stuff ...
return RedirectToAction("Download");
}
[AcceptVerbs(HttpVerbs.Get)]
public FilePathResult Download()
{
var fileName = "c:foo.exe";
return File(fileName,"application/octet-stream","installer.exe");
}
我想做的是将用户重定向到另一个页面,感谢用户下载文件,但我不知道如何以“类似MVC”的方式实现这一点. 我能想到的唯一方法是跳过下载操作,而是重定向到ThankYou操作,并让ThankYou视图使用javascript发送文件.但这对我来说似乎不是MVC.有更好的方法吗? 结果: 接受的答案是正确的,但我想表明我实施了它. Index操作会在重定向到的位置发生更改: return RedirectToAction("Thankyou");
我添加了这个控制器(和视图),向用户显示任何“发布下载信息”,并感谢下载文件.我从link text抓取的AutoRefresh属性显示了一些其他优秀的用途. [AutoRefresh(ControllerName="Download",ActionName="GetFile",DurationInSeconds=3)]
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Thankyou()
{
return View();
}
重定向到的动作与以前一样: [AcceptVerbs(HttpVerbs.Get)]
public FilePathResult GetFile()
{
var fileName = "c:foo.exe";
return File(fileName,"installer.exe");
}
解决方法只需在重定向页面的操作中为响应添加标题即可.谷歌搜索出现了这个标题: Refresh: 5; URL=http://host/path 在您的情况下,URL将替换为您的下载操作的URL 正如我正在阅读的页面所说,数字5是在“刷新”到网址之前等待的秒数. 随着文件的下载,它不应该让你离开漂亮的重定向页面:) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在ASP.Net应用程序中执行Server.MapPath的最有效的方法是什
- c#中分布方法和分部类
- ASP.net vs PHP(选择什么)
- asp.net-web-api – 如何从Web API响应中删除标头?
- asp.net-mvc – MvcContrib.MVC3-ci和Mvc.Contrib NuGet包之
- asp.net-mvc – Uploadify(会话和身份验证)与ASP.NET MVC
- asp.net-mvc-5 – 在MVC 5的IPasswordStore中,SetPasswordH
- asp.net – 如何在asp标签中将文本与中心对齐
- asp.net – 它是老式的使用id的查询字符串吗?
- asp.net-web-api – 无法从’Microsoft.IdentityModel.Toke
推荐文章
站长推荐
- asp.net – GridView不记得回发之间的状态
- 在ASP.Net应用程序和最佳实践中使用WCF
- asp.net – 是否使用Page_IsValid或Page_ClientV
- asp.net-mvc – 为什么DropDownListFor会在提交后
- asp.net-mvc – 是否可以在MVC和Webforms之间共享
- asp.net – 获取用户的IP地址
- asp.net-core – 使用[FromBody]时获取原始POST数
- asp.net-mvc – 如何手动创建简单的成员资格sql表
- asp.net-mvc – 忽略viewstart在asp.net mvc raz
- 我可以使用ASP.NET Core仅针对.NET 4.6.1吗?
热点阅读
