在URI模板中使用正斜杠('/')而不进行编码

时间:2011-10-26 20:43:37

标签: c# wcf rest uri

我有一个充当文件存储的RESTful WCF服务。由于可以有任意数量的目录和子目录,我试图让用户只需将文件路径放入URL即可访问它们。有没有办法我可以做到这一点,而无需用户编码斜杠?

例如,我想要的是Files/{path}的URI模板,可以像http://localhost:8000/Files/folder1/subfolder2/subfolder3/file.jpg一样访问。

3 个答案:

答案 0 :(得分:5)

您可以在uri模板的末尾添加*。在您的操作中,您可以将与*匹配的uri的其余部分解释为文件路径。

答案 1 :(得分:0)

您需要使用URL重写技术来完成此任务。如果使用.net 4,请使用路由表。

答案 2 :(得分:0)

我害怕理解不对。以下是否有效?

  • 让用户在folder1/subfolder2/subfolder3/file.jpg变量中输入path之类的内容。
  • 执行:String encodedPath = path.Replace("/", "%2F");