通过作为Azure Web App托管的.NET Core应用程序上传文件时出现以下错误:
您要查找的资源已被删除,名称已更改或暂时不可用。
这是在Postman中测试的,并且在22秒左右时没有找到404 Notc。
我的应用程序代码如下,删除了额外的东西:
public async Task<IActionResult> PostDocuments(ICollection<IFormFile> files)
{
foreach (var file in files)
{
string path = Path.Combine(uploadsDir, file.FileName);
//Uploading file to "uploads" to be staged. Doesn't get past here.
using (var stream = new FileStream(Path.Combine(uploadsDir, file.FileName), FileMode.Create))
{
await file.CopyToAsync(stream);
}
//Uploading files to Azure
if (await _azure.UploadFile(path, file.FileName)
{
// Stuff to add file to database
}
else
{
return StatusCode(400, "Could not upload one or all of your files.");
}
}
else
{
return StatusCode(400, "One or all of your files are empty, have invalid types, or are targeting mismatched buildings or floors.");
}
}
return StatusCode(201, files);
}
我认为我的问题只是请求耗时太长而Azure正在取消它以维护应用程序的完整性。从我的研究中听起来也许我需要允许应用程序启动Azure上载并将其添加到数据库中。但是,从我在本地进行的测试来看,即使在我接触到任何控制器的逻辑之前,这个过程的很长一段时间也是如此。有更好的方法吗?
答案 0 :(得分:3)
如果您通过IIS托管.net核心应用程序,您仍然可以将web.config文件添加到应用程序的根目录。当您在较大的文件上传时出现超时或404错误,则可能是maxAllowedContentLength问题。
有一些好的答案here可以更详细地描述这一点。
如果您使用IIS托管,简短的回答是将此添加到您的web.config文件中。
else if