go - path.Join 的可移植性用于 URL 路径
问题描述
我们path.Join
用来构造一组文件的 URL:
urlPath := "/"
if isPrimaryLocale {
urlPath = path.Join(urlPath, locale)
}
urlPath = path.Join(urlPath, itemName)
我很好奇这种方法的可移植性,因为 afaik 将在 Windows 上使用不同的路径分隔符(我们不关心,因为我们总是部署到 Linux,但想知道其他应用程序)。
path.Join
在用于 URL 的路径上使用是否安全?是否有特定于 URL 的替代方法?
解决方案
是的,path.Join
是安全的,因为URL 不是特定于平台的,它们总是用作/
目录分隔符。如果您需要特定于平台的文件路径处理,请使用filepath
而不是path
.
另请参阅:维基百科关于URI/URL的条目和定义它们的RFC 3986 。
推荐阅读
- javascript - 导出目录中的所有接口以获得更好的导入语句/自动填充
- python - 在一维数组中保存不同长度的不同数组
- javascript - 创建一个新的数组方法,将数组值转换为大写:
- linux - 查找文件中一组行中最深(正确)的行 Unix/Linux
- json - 如何在 JSON_VALUE SQL 服务器中保留换行符
- angular6 - 在模块中提供非单例服务
- java - 将 forEach 替换为 Stream
- php - 在 Laravel 中从 Storage 访问 PDF 并将其加载到浏览器中
- docker - 具有多个 Postgresql 容器的多个 Odoo 容器
- reactjs - ReactJS + Apollo Client - 无需渲染即可获得结果