Asp.net mvc MVC发布表单,但可选择返回下载或内容

Asp.net mvc MVC发布表单,但可选择返回下载或内容,asp.net-mvc,upload,download,return,Asp.net Mvc,Upload,Download,Return,所以我有一个表单操作,上传一个文档并处理它 [HttpPost] public ActionResult Upload(FormCollection col) {} 但是我想返回并下载(不是链接),而是下载刚刚开始,或者在页面上显示一些html内容 我应该返回什么,是否需要更改属性(HttpPost)?最终,无论您将HTML页面或文件返回到浏览器,都只是HTTP 您只需将内容类型http响应头设置为文件的正确mime类型,还可以选择设置内容处置头以设置文件名()。这是可

所以我有一个表单操作,上传一个文档并处理它

    [HttpPost]
    public ActionResult Upload(FormCollection col)
    {}
但是我想返回并下载(不是链接),而是下载刚刚开始,或者在页面上显示一些html内容


我应该返回什么,是否需要更改属性(HttpPost)?

最终,无论您将HTML页面或文件返回到浏览器,都只是HTTP


您只需将内容类型http响应头设置为文件的正确mime类型,还可以选择设置内容处置头以设置文件名()。

这是可以放入操作方法中的代码

        bool shouldDownload = true;

        if (shouldDownload)
        {
            Response.AddHeader("Content-disposition", "attachment; filename=guitars_11.jpg");
            return File(@"c:\Temp\guitars_11.jpg", "image/jpeg");
        }
        else
        {
            return View();
        }
[HttpPost]属性可以保留-它只对路由有影响(如果请求是POST请求,则将调用该操作)。它对返回的内容没有影响