Я написал метод на моем контроллере, который автоматически генерирует колоду 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, но я не уверен, что это решит проблему.