UNC путь строительства в Linux

У меня есть функция, которая использует path.join чтобы создать UNC-путь для использования другой (Windows) системой (приложению Node.js не требуется доступ к нему, ему просто нужно правильно построить путь):

function constructUncPath (fileName, userLastName) {
  var storageLocation = getStorageLocation(); // Returns a UNC base path
  var todayDateFormatted = moment().format('YYYYMMDD');
  return path.join(storageLocation, userLastName + '_' + todayDateFormatted + '_' + fileName);
}

В Windows он правильно создает путь, но в Linux он терпит неудачу, потому что вместо обратной косой черты он вставляет:

 + ожидается - актуально

      -\\ путь \ к /user_20150101_file.txt
      +\\ путь \ к \user_20150101_file.txt

Есть ли способ заставить path.join использовать обратную косую черту вместо прямой?

Или мне просто явно заменить их после объединения?

1 ответ

Решение

path.join() не будет этого делать, так как он берет символ косой черты с машины, на которой он работает. Есть много способов написать замену path.join(), но использовать.Replace("/", "\") проще всего.

Кстати, если вам не нужно поддерживать Windows 9x, даже не беспокойтесь. Windows будет хорошо смотреться там.

Другие вопросы по тегам