【问题标题】:method for getting correct system path on windows在windows上获取正确系统路径的方法
【发布时间】:2012-08-31 07:50:09
【问题描述】:

我已经使用 libevent 构建了一个简单的 http 服务器。访问资源(在我的例子中是文件夹)的方式是

http://serverAddress:port/path/to/resouce/

使用解码后的 url 提取资源的路径。它在 Linux 上运行良好,因为请求会是这样的

http://severAddress:port/home/vickey/folder

但是在 window$ 请求是

http://serverAddress:port/c:/users/vickey/folder

解码后的 url 为 /c:/users/vickey/folder。它可以手动删除前导斜杠以纠正问题。但是,由于我在我的代码中使用和学习 boost 库,我想知道是否有这种实现?我尝试使用 native() 和 relative_path()。谢谢。

【问题讨论】:

    标签: libevent boost-filesystem


    【解决方案1】:

    绝对可以按照您的要求进行,但我建议采用不同的方法。如何为服务器创建一个名为 RESOURCE_BASE_PATH 的配置属性。在 URL 中接收到的资源路径将附加到 RESOURCE_BASE_PATH 以创建完整路径。

    这对于 FTP 和 HTTP 服务器等来说是相当标准的。在 Windows 上,它可以设置为“c:”,在 Linux 上,留空,默认为“/”。

    还要记住,Windows 上的斜杠 (\) 与 Unix 上的斜杠 (/) 不同。

    【讨论】:

      猜你喜欢
      • 2012-07-10
      • 1970-01-01
      • 2020-11-05
      • 2019-01-19
      • 2016-08-04
      • 1970-01-01
      • 2020-04-23
      • 2014-02-03
      • 2021-06-17
      相关资源
      最近更新 更多