7

这是我的代码:

var thisImageName = thisRow["imagename"];
var thisImagePath = path.relative("./public", __dirname + "/public/uploads/" + thisImageName + ".jpg");
console.log(thisImagePath); // returns __dirname\public\uploads\
img.src = thisImagePath.split(path.sep).join("/");

要获得适当的图像路径,我必须按路径分隔符拆分,然后用适当的斜杠加入数组。有谁知道这样做更有效的方法?

4

2 回答 2

19

此外,您始终可以通过专门使用 posix 路径 API 在路径中获取正斜杠:

var p = path.posix.relative("./public", imagePath);

编辑:此 api 仅在节点 0.12 或更高版本中可用。

于 2015-08-25T21:51:19.690 回答
14

约翰的回答只会替换 '\' 的第一个实例

img.src = thisImagePath.replace(new RegExp('\\' + path.sep, 'g'), '/');

将替换所有这些。

您可以将 'g' 标志传递给.replacebut this non-standard

于 2013-09-09T15:36:01.243 回答