Azure存储 - 处理URL中的双斜线

时间:2015-10-08 10:30:13

标签: c# azure url-rewriting azure-storage

我正在将公司的文件集(15TB)移动到azure blob存储区。不幸的是,这些文件被移动应用程序拉下来,这些移动应用程序在设备上构建URL的最后一位。在Apple应用程序中,设备似乎添加了" /"在附加路径的其余部分之前,例如,它将采用我们在请求中传递的域:

请求中传递的域名:" files.mycompany.com /" 由Apple Devices" /folder/file.jpg"附加; 由Android Devices" folder / file.jpg"

附加

这会导致苹果设备在路径中出现双斜杠(" //")。当这些文件来自我们当前的数据存储区时,这很好,因为它评估" //"到一个" /"但是在天蓝色的情况下并非如此。

由于这是一个设备,我们无法轻松更新我们的所有应用程序,并希望每个用户实际更新。那么是否有天蓝色的东西或者我可以用自定义域做的事情,我可以重写URL以删除" //"?

1 个答案:

答案 0 :(得分:0)

您绝对可以将“/”作为文件网址的合法部分。因此,只要您使用额外的“/”上传它,它将存储在名称中包含“//”的存储中 - 这意味着如果您随后请求包含“//”的对象,则会返回该对象。问题是Android应用程序需要更新,我猜测它与Apple应用程序有相同的问题。对此的一个解决方案是使用单斜杠将图像上载两次而使用双斜线上传另一个 - 这是一个短期解决方案,直到您更新Apple应用程序才能正常运行?

或者,您可以通过某种代理来路由Apple应用程序,您必须构建这些代理才能重写URL。 IIS具有重写支持,您可以在此处阅读更多信息:http://www.iis.net/downloads/microsoft/url-rewrite