0

我已經使用Webapi 2製作了api。它是控制器調用來調用存儲庫的服務。Web Api中的數據緩存

我有Post方法在資源庫中我正在執行一個url來獲得一個文檔流,我最終保存到一個位置HostingEnvironment.MapPath("~/Uploads/") + documentname;

這個位置是在庫代碼中使用使用位置僅透過這個位置訪問到流保存到文件:

using (var fileStream = new FileStream(document.DocumentPath, FileMode.Open, FileAccess.Read)) 
{ 
    .... 
} 

我需要這樣做,因爲其他API調用需要再次使用該文件的流進一步處理。

當我在本地機器上運行服務器的實例時,一切正常,但是當此服務託管到服務器時,我收到500內部服務器錯誤。 FileNotFoundException異常。

我沒有訪問服務器所以我不知道究竟是什麼原因可能是它的原因。我的想法是我的本地文件系統可以訪問服務,但我可能需要在服務器中設置一些額外的權限。任何想法都會非常感激。

回答

0

將IIS_IUSRS添加到該文件夾​​並設置相關權限應執行該作業。希望這可以幫助。

1

您可以嘗試將文件保存在App_Data文件夾中嗎?如果您沒有該文件夾,可以通過右鍵單擊項目>添加文件夾> ASP.NET文件夾> App_Data來創建該文件夾。

可以通過(假設你創建的文件夾 '上傳')訪問該文件夾:

串根= System.Web.HttpContext.Current.Server.MapPath( 「〜/ App_Data文件/上傳」);

+0

我做到了。它仍然沒有工作。它應該是可寫的。我使用.net框架中的臨時文件夾來完成我的任務。感謝您的建議,雖然:) – Pushpendra