Я написал метод на своем контроллере, который автоматически генерирует колоду PowerPoint для моего клиента, и все это работает нормально ... за исключением того, что я застрял в части сохранения файла на диск.
Я не новичок в этой концепции; и «подумал», что все, что мне нужно сделать, это предоставить IIS_IUSRS разрешение на запись для каталога и разрешение на чтение для всех родительских каталогов. Я использую IIS 7, и я Мы уже делали это раньше, когда IIS 6 предоставлял NETWORK SERVICE такие же разрешения.
Просто для удовольствия, я даже дал ВСЕМ разрешения на запись в каталог, и я все еще получаю Exception: 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 в метод сохранения, но я не уверен, что это решит проблему.