Nodejs преобразует строку URL, чтобы использовать только имя пути

#node.js #path

#node.js #путь

Вопрос:

Я пытаюсь определить наилучший способ разделения URL-адреса, который передается в мое поле формы, прежде чем он будет сохранен в моей базе данных. Мой мыслительный процесс заключается в создании функции, которая фиксирует значение, а затем использует модуль Nodejs «Path», чтобы разделить строку только на путь url и вернуть это значение, но я не уверен, что это лучший модуль для использования.

Вот формат, в котором будет отображаться моя строка: https://bucket-test.s3.amazonaws.com/path/bucket/file.ext

То, что я пытаюсь захватить с помощью своей функции, — это эта часть: /path/bucket/file.ext

Вот моя текущая настройка функции:

 function cloudFrontUrl(s3url) {
    var s3UrlPath = path.parse(s3url);
    console.log('S3 URL Path '   s3UrlPath);
    return s3UrlPath;
}
  

Ответ №1:

Поскольку вы анализируете полный URL-адрес, вы, вероятно, захотите использовать вместо этого встроенный url модуль:

 var urlparse = require('url').parse;

function cloudFrontUrl(s3url) {
  // or use `.path` if you want to include the query string, if it exists
  var s3UrlPath = urlparse(s3url).pathname;

  console.log('S3 URL Path '   s3UrlPath);
  return s3UrlPath;
}