首页 文章

ASP.NET生成.pdf文件,Save()上的UnauthorizedAccessException

提问于
浏览
0

我有一份工作清单,我给用户提供了以pdf文件形式获取工作描述的选项 . 我使用MigraDoc / PDFsharp生成pdf文件 . 问题是,在我渲染pdf文档并希望将其保存在DevServer的某个地方后,我在PDFsharp PdfDocument.Save()方法中创建FileStream时出现UnauthorizedAccessException . 我从来没有真正使用Windows进行比玩游戏更先进的东西,我不知道为什么我会得到这个例外,因为我以管理员用户身份登录,我猜我的ASP.NET应用程序是以管理员权限运行的,应该是能够在文件系统上的任何地方写入文件 .

代码 .

GridViewRow jobRow = (GridViewRow)(sender as Control).Parent.Parent;

        Document jobDocument = new Document();
        Section xyz = jobDocument.AddSection();
        xyz.AddParagraph("Wonderfull job");

        PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(true);
        pdfRenderer.Document = jobDocument;
        pdfRenderer.RenderDocument();

        string filename = "Job_" + jobRow["3"] + ".pdf"; // Job_[title].pdf
        pdfRenderer.PdfDocument.Save(filename);

最后一行是导致异常的行 . 有什么建议?我不是ASP.NET开发人员,我被迫在我的学校项目中使用ASP.NET,所以这可能是一个非常简单的问题,但我真的不知道该做什么以及搜索什么 . 谢谢回答!

1 回答

  • 0

    管理员帐户=! IIS用户 . IIS用户也需要具有写入权限!在大多数机器上,它被称为“IIS_User”或“网络服务” . 首先,您可以向每个用户授予写入权限 . 如果这对您有用,您就知道该怎么做了 . 首先尝试将绝对路径设置为文件名,也可以是“C:\ inetpub \ wwwroot”之外的目录?希望这可以帮助!

相关问题