c# - 路径 /api/* 的控制器未找到或未实现 IController
问题描述
我目前正在学习 ASP.NET MVC,我的任务是创建一个用户可以上传文件的网站。
我已将以下 FileUploadingController 编写为 API,当我尝试通过我的网站视图中的表单调用时,我收到以下错误:'找不到或未实现路径的控制器'/api/FileUploading/UploadFile'控制器。
这是我上传用户文件的 API。
public class FileUploadingController : ApiController
{
[HttpPost]
[Route("api/FileUploading/UploadFile")]
public async Task<string> UploadFile()
{
var ctx = HttpContext.Current;
var root = ctx.Server.MapPath("~/App_Data");
var provider =
new MultipartFormDataStreamProvider(root);
try
{
await Request.Content
.ReadAsMultipartAsync(provider);
foreach (var file in provider.FileData)
{
var name = file.Headers
.ContentDisposition
.FileName;
// remove double quotes from string.
name = name.Trim('"');
var localFileName = file.LocalFileName;
var filePath = Path.Combine(root, name);
File.Move(localFileName, filePath);
}
}
catch (Exception e)
{
return $"Error: {e.Message}";
}
return "File uploaded!";
}
}
这是我调用此 API 的表单。
<form
method ="post"
enctype="multipart/form-data"
action="https://localhost:44327/api/FileUploading/UploadFile"
>
<div>
<label for="img">Image File</label>
<input name="img" type="file"/>
</div>
<div>
<input type="submit" value="upload" />
</div>
</form>
虽然我知道这种方法不是最好的方法,并且已经与我的导师讨论了替代方法,但我们都无法弄清楚为什么会发生这个错误(我确实理解错误的含义,但我很困惑如何解决它而不采取不同的方法),尽管我们没有寻找太久。
谢谢!
编辑:按照这里的要求是我的 WebApiConfig.cs 的内容
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
解决方案
推荐阅读
- python - 解码功能会产生无法通过编码来修复的错误
- audio - 检查视频中嵌入的音频是否为 Ambisonic 的最佳方法是什么?
- python - 如何将未知长度的数据帧列表与熊猫中的另一个数据帧连接起来?
- qt - qt.network.ssl:QSslSocket::connectToHostEncrypted:TLS 初始化失败
- excel - 将不同工作表中的数据粘贴到一张工作表(一张接一张)
- google-cloud-platform - 如何在 ML Engine 上调试预测,预测返回空数组
- json - 在 JSON 解析方面需要帮助
- dependency-injection - 使用 nestjs 在通用服务中动态注入存储库
- wordpress - 如何从我们自己的 API 自动阅读和发布?
- python-3.x - 如果没有面对系列的真值是模棱两可的错误,我如何使用数据帧子集?