![](/img/trans.png)
[英]403 Forbidden/500 Internal Server Error after deploying .net core api AWS Serverless application
[英]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”。
誰能看到我做錯了什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.