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,所以这可能是一个非常简单的问题,但我真的不知道该做什么以及要搜索什么。谢谢回答!

4

1 回答 1

0

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

于 2012-04-10T09:26:42.300 回答