私はコントローラーに、クライアント用のパワーポイントデッキを自動生成するメソッドを作成しましたが、ファイルをディスクに保存する部分に固執している場合を除いて、すべて正常に機能します。
私はこの概念に不思議ではありません。そして、私がする必要があるのは、IIS_IUSRSにディレクトリへの書き込み権限と、すべての親ディレクトリへの読み取り権限を付与することだけだという「考え」です。私はIIS7を使用していますが、これは以前にIIS6でNETWORKSERVICEに同じアクセス許可を付与して行ったことがあります。
キックのためだけに、私はすべての人にディレクトリへの書き込み権限を与えましたが、それでも例外が発生し続けます: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();
}
}
present.Save()メソッドはパスと保存形式を取ります...他に何を試すべきかわかりません...コードに何か問題がありますか?パスを間違って作成していますか?Streamストリームをsaveメソッドに渡すこともできますが、それで問題が解決するかどうかはわかりません。