我有一份工作清单,我给用户提供了以pdf文件形式获取工作描述的选项。我使用MigraDoc / PDFsharp生成pdf文件。 问题是,在我渲染pdf文档并希望将其保存在DevServer的某个地方后,我在PDFsharp PdfDocument.Save()方法中创建FileStream时出现UnauthorizedAccessException。 我从来没有真正使用Windows进行比玩游戏更先进的东西,我不知道为什么我会得到这个例外,因为我以管理员用户身份登录,我猜我的ASP.NET应用程序是使用Administrator运行的privilleges并且应该能够在文件系统的任何地方写入文件。
守则。
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,所以这可能是一个非常简单的问题,但我真的不知道该怎么做以及该怎么做搜索。谢谢你的回答!
答案 0 :(得分:0)
管理员帐户=! IIS用户。 IIS用户也需要具有写入权限! 在大多数机器上,它被称为“IIS_User”或“网络服务”。首先,您可以向每个用户授予写入权限。如果这对您有用,您就知道该怎么做了。 首先尝试将绝对路径设置为文件名,也可以是“C:\ inetpub \ wwwroot”之外的目录? 希望这有帮助!