2017-04-25 17 views
0

私は単にパッケージを間違って使用していると思うので、私はgitページの問題/バグとしてこれを発生させたくありません。ASP MVC Rotativa(wkhtmltopdf)を仮想ディレクトリ

私はASP MVCサイトをIIS10上で実行しています。実際のフォルダ構造がある:/ライブラリ/(この理由は間でリソースを共有することである。

x:/ 
    library/ <-- Physical 
    Web Sites/ 
     Site A/ 
      Files/ <-- Virtual 
     Site B/ 
     Site C/ 

そしてIIS10を使用して、私は、仮想フォルダは、物理パスがXとなっている、サイトAの下でファイルと呼ば作りましたWebサイトのパスの外でコンテンツを取得する)。

ユーザーは仮想ディレクトリにファイルをアップロード/ダウンロードすることができます。そこからも問題なく画像を読み込むことができます。

しかし、私はRotativaがアプリケーション内から仮想ディレクトリに書き込むようには見えません。明らかに、コマンドラインには仮想ディレクトリは表示されませんが、cmdから物理ディレクトリにファイルを作成するとうまく動作します。 (すでにlibraryフォルダとサブフォルダのNETWORK SERVICE完全な制御を与えるにもかかわらず)

私が使用しているコードがあるAccess to the path is deniedUnable to write to destination
X:/library/Test.pdf結果で

X:/Web Sites/Files/Test.pdf結果:しかしアプリの中から

var pdf_output= new ActionAsPdf("Summary", new { id = id }) { 
     FileName = String.Format("Summary_{0}.pdf",id.ToString()), 
     CustomSwitches = "--print-media-type" 
     }; 
byte[] pdf_data= pdf_output.BuildPdf(ControllerContext); 
System.IO.File.WriteAllBytes(String.Format("xxx",id.ToString()), pdf_data); 

plでのさまざまなディレクトリパスの組み合わせエース "xxx"。

私はどこに間違っているのか分かりませんでしたか?どんな助けでも大歓迎です。

答えて

0

気にしないで解決してください。ユーザーIIS AppPool\Site Aを追加して、物理的なlibraryディレクトリにそれぞれのアプリケーションプールのアクセス許可を与える必要がありました。

誰かが調査しようとしていた場合は、事前にお問い合わせください

関連する問題