Node.js,从 URL 解析文件名

新手上路,请多包涵

我怎样才能解析一个网址?

 site.com:8080/someFile.txt?attr=100

或者

site.com:8080/someFile.txt/?attr=100

我需要获取 someFile.txt ,其中是我自己设置为格式(txt 或其他格式)的文件名。

更新

我试过了

var path = url.parse(req.url).path;

但我仍然无法获得路径( someFile.txt )。

原文由 Aaron 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 807
2 个回答

像这样的东西..

 var url = require("url");
var path = require("path");
var parsed = url.parse("http://example.com:8080/test/someFile.txt/?attr=100");
console.log(path.basename(parsed.pathname));

原文由 Cheery 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是我的工作代码,希望对您有所帮助

import path from 'path'

const getBasenameFormUrl = (urlStr) => {
    const url = new URL(urlStr)
    return path.basename(url.pathname)
}

原文由 Alex G 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题