如何创建PDF,调用它的下载,然后删除它?

时间:2016-03-05 18:24:42

标签: asp.net ajax asp.net-mvc pdf download

所以我有一个类似

的控制器
    [HttpPost]
    [ValidateInput(false)]
    public ActionResult HtmlToPdf ( string html, Guid pid )
    {

            PdfDocument D = new PdfDocument();
           // ... build document
            string filename = "summary_" + pid.ToString() + ".pdf";
            D.Save(Path.Combine(Server.MapPath("~/Dumps"), filename));
            return Json(new { filename = filename });
    }

然后window.open在客户端的那个文件。问题是这些PDF超过1 MB,我不想达到我的Azure内存限制。除了一个快速而肮脏的解决方案,比如设置一个在一定时间后删除文件的计时器,我有什么解决方案?

1 个答案:

答案 0 :(得分:0)

您可以将两种不同的工具相互结合使用,首先是Azure Blob Storage containers。将PDF上传到容器,将PDF的URL返回给您的用户。

另一个工具称为Azure WebJobs,它们基本上是在后台运行的任务,您可以按计划设置这些任务,并用于删除之前上载的旧PDF。

资源