在没有编码的URI模板中使用正斜杠('/')

本文关键字:编码 URI | 更新日期: 2023-09-27 18:12:41

我有一个RESTful WCF服务作为文件存储。由于可以有任意数量的目录和子目录,因此我试图通过简单地将文件路径放入URL来让用户访问它们。有没有一种方法可以做到这一点,而不需要用户对斜杠进行编码?

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

在没有编码的URI模板中使用正斜杠('/')

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

您需要使用URL重写技术来完成此操作。如果使用。net 4,使用路由表

我恐怕没理解对。下面的操作可行吗?

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