title: .Net core Routing URLEncoded URL not working
body: <p>I have a .Net core 2.2 WebAPI that works perfectly fine with "normal" style URLs e.g. /api/controller/action/param etc. I have a 3rd party service that does a POST to this API with a URL encoded path and the Asp.Net routing fails to route this request correctly.</p>
  
  <p>The controller is at: .../api/file/uploadFile/{filename}</p>
  
  <p>The POST from the 3rd party is:
  ".../api%2Ffile%2FuploadFile%2FMaintenanceReport_2019_08_05_17_11_10.html.gz".</p>
  
  <p>Replacing the %2F in the path appears to work as expected:
  ".../api/file/uploadFile/MaintenanceReport_2019_08_05_17_11_10.html.gz"</p>
  
  <p>The filename is: "MaintenanceReport_2019_08_05_17_11_10.html.gz"</p>
  
  <p>Placing a Route Attribute with %2F instead of "/" sort of works, but looks very messy.</p>
  
  <p>The filename passed into the path is also not resolving correctly as a parameters. I suspect this is due to the file extension being included.</p>
  
  <p>I've searched the net and did not find anything related jumping out at me. Any suggestions/ideas?</p>
  
  <pre><code>[Route("api/[controller]/[action]")]
  [Route("api%2F[controller]%2F[action]")]
  public class FileController : Controller
  {
    ...
  }
  </code></pre>
  
  <p>I would have thought that the .Net core routing engine would detect the path</p>