【问题标题】:Url path to an image not routing as required图像的 URL 路径未按要求路由
【发布时间】:2017-12-16 03:32:07
【问题描述】:

我正在尝试在我的 (Web)API 上获取 URL 路径以路由到控制器操作。

路径类似于 {Base URL}/action/integer/image.jpg。出于某种原因,此 URL 正在尝试请求文档 - image.jpg 并因此返回 404(未找到)。我希望它返回 action 的值。

我尝试了以下属性装饰器,但似乎都不起作用。

  • [Route("action/{integer}/{image}.{extension}")]
  • [Route("action/{integer}/{image}")]

该动作对应的方法如下。

  • 公共 HttpResponseMessage 操作(整数,字符串图像)
  • 公共 HttpResponseMessage 操作(整数、字符串图像、字符串扩展)

我查看了其他一些堆栈溢出解决方案,但似乎不适用于这种确切情况。

【问题讨论】:

    标签: c# asp.net-web-api routes


    【解决方案1】:

    我尝试使用 Katana 重定向呼叫。但我发现我对堆栈溢出问题之一的回答要简单得多。我无法再次找到该链接 - 只需使用“/”后缀拨打电话即可。这可确保您在最后一个 URL 段中解析的内容仍解析为字符串参数。然后路由属性完成其余的魔术。

    {Base URL}/action/integer/image.jpg/

    【讨论】:

    • 点击图片需要重定向到页面,对吧?
    • 我认为,您的服务器中没有名为 image.jpg 的图像。这就是它返回 404 错误响应的原因。确保图像显示在浏览器上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2017-11-10
    相关资源
    最近更新 更多