2017-04-25 54 views
0

我不想養這是我想象我只是使用包錯誤git的頁面上的問題/錯誤。ASP MVC Rotativa(wkhtmltopdf),以虛擬目錄

我有IIS10運行的ASP MVC的網站。實際文件夾的結構是:

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

而且使用IIS10,我做了下一個站點文件稱爲虛擬文件夾,其中的物理路徑是X:/庫/(這樣做的原因是之間共享資源網站並在網站路徑之外獲取內容)。

用戶能夠/下載文件從虛擬目錄精細上傳到/。我可以從那裏加載圖像而沒有問題。

不過,我似乎無法得到Rotativa從我的應用程序中編寫的虛擬目錄。顯然,命令行無論如何都看不到虛擬目錄,但是從cmd創建文件到物理目錄可以正常工作。

從應用雖然內:

X:/Web Sites/Files/Test.pdf結果Unable to write to destination
X:/library/Test.pdf結果Access to the path is denied(儘管已經給NETWORK SERVICElibrary文件夾和子文件夾的完全控制)

我使用的代碼:

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目錄。

在此先感謝如果有人試圖調查