带有动作返回的附件的MVC2 mailto

时间:2011-02-16 11:20:31

标签: html asp.net-mvc-2

我的情况是我需要使用客户Outloook发送带附件的电子邮件,

<% string filePath = "http://localhost/GetPDF";%>
<a href="mailto:?subject=Report&attachment='<%: filePath %>'">Send via outlook</a>

GetPDF操作返回pdf,即:

public override void ExecuteResult(ControllerContext context)
{

    byte[] pdfBytes = null;
    //pdf generation
    ....................

    context.HttpContext.Response.Clear();
    context.HttpContext.Response.AddHeader("Content-Type", "application/pdf");
    context.HttpContext.Response.AddHeader("Content-Disposition", "attachment; filename=Report.pdf; size=" + pdfBytes.Length.ToString());
    context.HttpContext.Response.Flush();
    context.HttpContext.Response.BinaryWrite(pdfBytes);
    context.HttpContext.Response.Flush();
    context.HttpContext.Response.End();
}

但不幸的是,在发送邮件窗口打开后,pdf未附加= / 可以修复吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

无法使用mailto:URI方案附加文件。

答案 1 :(得分:0)

这可能不是问题的根源,但尝试使用FileContentActionResult而不是直接使用响应。