这是我的代码:
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("/");
要获得适当的图像路径,我必须通过路径分隔符进行拆分,然后使用适当的斜杠连接数组。有没有人知道更有效的方法呢?
答案 0 :(得分:13)
John的回答只会替换'\'
的第一个实例img.src = thisImagePath.replace(new RegExp('\\' + path.sep, 'g'), '/');
将替换所有这些。
您可以将“g”标记传递给.replace
但是non-standard。
答案 1 :(得分:11)
此外,您可以通过专门使用posix路径apis来获取路径中的斜杠:
var p = path.posix.relative("./public", imagePath);
编辑:此API仅适用于0.12或更高版本的节点。