簡體   English   中英

將 mvc 應用程序部署到 aws 后出現服務器錯誤

[英]server error after deploying mvc app to aws

我有一個 asp.net MVC 應用程序,它允許用戶將 PDF 上傳到系統上(PDF 文件保存到名為 Surveys 的文件夾中)。 然后將 PDF 發送到 Azure Read API,返回的數據存儲在系統上的 .text 文件中(以便我以后可以將一些數據輸入數據庫)。

當我使用 IIS Express 進行本地測試時,這很好用; 我可以上傳一個 PDF 文件,並使用返回的文本制作一個 .text 文件。 問題是當我部署 Web 應用程序時(在這種情況下部署到 aws elastic beanstalk),當我上傳 PDF 時出現服務器錯誤:

“/BookingSystem_deploy”應用程序中的服務器錯誤。 找不到路徑“C:\\inetpub\\wwwroot\\Surveys\\aaf6d80a-230f-4583-b57a-bf44ef49b903.pdf”的一部分。

我的控制器:

[HttpPost]
        public async Task<ActionResult> Upload(HttpPostedFileBase file)
        {
            string filename = Guid.NewGuid() + Path.GetExtension(file.FileName);
            string filepath = @"C:\Users\35385\source\repos\BookingSystem\BookingSystem\Surveys\" + filename;
            file.SaveAs(Path.Combine(Server.MapPath("/Surveys"), filename));
            await AzureVisionAPI.ExtractToTextFile(filepath);


            return View();
        }

我猜測“字符串文件路徑”需要以某種方式更改以支持部署后的目錄更改? 誰能告訴我在這方面我需要做什么? 或者如果錯誤是我遺漏的完全不同的東西

編輯:在對我的問題進行了更多研究后,我進行了一些更改

控制器的變化:

[HttpPost]
        public async Task<ActionResult> Upload(HttpPostedFileBase file)
        {
            string filename = Guid.NewGuid() + Path.GetExtension(file.FileName);
            string filepath = Server.MapPath(Path.Combine("~/Surveys/", filename));
            file.SaveAs(Server.MapPath(Path.Combine("~/Surveys/", filename)));
            await AzureVisionAPI.ExtractToTextFile(filepath);


            return View();
        }

現在我收到一個不同的服務器錯誤(盡管這個錯誤聽起來現在路徑是正確的,即使權限被拒絕):

“/BookingSystem_deploy”應用程序中的服務器錯誤。 拒絕訪問路徑“C:\\inetpub\\wwwroot\\BookingSystem_deploy\\Surveys\\70c1528a-49ce-4ec2-814e-df83b150224e.pdf”。

誰能看到我做錯了什么?

1) 確保在 iis 中為您的站點啟用匿名身份驗證。

2)您的應用程序池標識設置如下:

在此處輸入圖片說明

為站點文件夾設置 iis_iusrs、iusr 權限。

如果應用程序池標識不起作用,則嘗試設置本地系統或網絡服務。

為文件夾分配權限:

右鍵單擊站點文件夾

轉到安全選項卡

點擊編輯

點擊添加

點擊提前

立即查找

授予 IIS_IUSRS 權限(完全控制)

單擊確定

單擊確定

單擊“完全控制”以允許

單擊確定

再次運行應用程序

在 iis 中分配權限刷新站點后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM