unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

Node.jsでURLからファイル名の拡張子を抽出する

ファイルシステムのパスからファイル名の拡張子を抽出するときにはpathのみで対応できますが、URLの場合にはクエリやフラグメントが付くので最初にurlでパス部分を抽出する必要があります。単純な問題ですが実装するときに少し悩んだので、備忘録としてまとめました。

app.js
const path = require('path');
const url = require('url');

const targetUrl = 'http://example.com/a.b?c=d#e'

const parsedUrl = url.parse(targetUrl)
const ext = path.extname(parsedUrl.pathname)
console.log(`ext: ${ext}`)
実行結果
$ node app.js
ext: .b