【发布时间】:2018-07-13 11:42:07
【问题描述】:
我正在开发一个基于 owin 和 katana 的小型应用程序,用于在内部处理链接。 所以应用程序处理 HttpGet 请求。当有人打电话时
http:localhost/?document=path/to/my/document/foo.doc
应用程序打开此文档。
我的问题是:当文档名称包含像“+”这样的特殊字符时,我的代码会将 + 符号解释为空格,因为变量被解析为字符串。
[HttpGet]
[Route("")]
public HttpResponseMessage Get(string document = "")
{
//open document
}
那么在执行任何代码之前如何保留特殊字符并且不允许c#字符串转换它们呢?
我试过HttpResponseMessage Get([FromUri]string document = "")
之后我尝试使用 HttpUtility.UrlEncode 对文档变量进行编码,但它也会对合法空格进行编码。
【问题讨论】: