错误:http查询字符串太长

时间:2014-12-03 15:25:38

标签: c# asp.net-mvc response httpruntime

我在mvc中使用以下代码下载Excel文件,但它显示的错误查询字符串太长了。

public ActionResult Download(string input)
{
    Response.Clear();
    Response.ClearHeaders();
    Response.ClearContent();
    Response.Buffer = true;
    Response.AddHeader("Content-Disposition", "attachment; filename= download.xlsx");
    Response.AddHeader("Content-Type", "application/Excel");
    Response.ContentType = "application/vnd.ms-excel";
    Response.WriteFile(input);
    Response.End();

    return Content(String.Empty);
}

1 个答案:

答案 0 :(得分:0)

此代码适用于PDF:

public FileStreamResult DownnloadPDF(int id)
        {Document document = new Document();

            MemoryStream stream = new MemoryStream();
                PdfWriter pdfWriter = PdfWriter.GetInstance(document, stream);
                pdfWriter.CloseStream = false;

                document.Open();

                formatPDF(document, model);

document.Close();

            stream.Flush(); //Always catches me out
            stream.Position = 0; //Not sure if this is required

            return File(stream, "application/pdf", "title" + ".pdf");
        }

我真的认为你的ActionResult不起作用。