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」フラグを渡すことができますが.replace、これは非標準です。

于 2013-09-09T15:36:01.243 に答える