我已经在我的控制器上编写了一个方法,它可以为我的客户端自动生成一个 powerpoint 平台,并且一切正常……除了我坚持将文件保存到磁盘的部分。
我对这个概念并不陌生。并且“认为”我需要做的就是授予 IIS_IUSRS 对目录的写入权限和对所有父目录的读取权限。我使用的是 IIS 7,之前我已经使用 IIS 6 授予 NETWORK SERVICE 相同的权限。
只是为了好玩,我什至给了每个人对该目录的写权限,但我仍然不断收到异常:System.UnauthorizedAccessException:访问路径'C:...... \ Content \ PPT'被拒绝。(为简单起见,我删除了一些路径)。
还有什么我忽略的吗?它所在的服务器是我设置的第一个服务器,所以我可能忽略了一些东西?
这是我简化的控制器方法:
public ActionResult CreatePowerPoint()
{
string path = HttpContext.Server.MapPath("~/Content/PPT");
Aspose.Slides.Presentation presentation = new Aspose.Slides.Presentation();
CreatePresentation(presentation);
presentation.Save(path, Aspose.Slides.Export.SaveFormat.Ppt);
return View();
}
}
Presentation.Save() 方法采用路径和保存格式...我不知道还能尝试什么...我的代码有问题吗?我是否错误地创建了路径?我也可以将 Stream 流传递给 save 方法,但我不确定这是否能解决问题。