【发布时间】:2021-06-20 08:20:15
【问题描述】:
我的 Node.js 脚本中有这种链接:
148414929_307508464041827_8013797938118488137_n.mp4.m4a?_nc_ht=scontent-mxp1-1.cdninstagram.com&_nc_ohc=_--i1eVUUXoAX9lJQ-u&ccb=7-4&oe=60835C8D&oh=61973532a48cb4fb62ac6711e7eba82f&_nc_sid=fa
我正在尝试使用此代码获取名称以将其保存为音频文件,但我无法从 URL 中获取文件扩展名 .mp4.m4a:
const filename = path.basename(data.message.voice_media.media.audio.audio_src);
如何获取文件扩展名以正确删除 URL 的最后一部分?我可以保存文件,如果我删除所需扩展名之前的名称部分,它将毫无问题地播放。
更新
正如 cmets 中所建议的,我已经阅读了链接的问题,但在我的情况下,我不需要只获取文件扩展名而是 URL 的第一部分已经包含所需的音频扩展名,即:@ 987654325@.
【问题讨论】:
-
这能回答你的问题吗? Node.js get file extension
-
不,它不会起作用。使用
path.extname()将返回给我的 url 的错误部分,而不是148414929_307508464041827_8013797938118488137_n.mp4.m4a的文件名 -
你有绝对网址吗?
https://test.com/148414929_307508464041827_8013797938118488137_n.mp4.m4a?_nc_ht=scontent-mxp1-1.cdninstagram.com&_nc_ohc=_--i1eVUUXoAX9lJQ-u&ccb=7-4&oe=60835C8D&oh=61973532a48cb4fb62ac6711e7eba82f&_nc_sid=fa之类的东西? -
编辑后,您似乎不需要扩展名,而是路径名。试试这个:
new URL('https://test.com/148414929_307508464041827_8013797938118488137_n.mp4.m4a?_nc_ht=scontent-mxp1-1.cdninstagram.com&_nc_ohc=_--i1eVUUXoAX9lJQ-u&ccb=7-4&oe=60835C8D&oh=61973532a48cb4fb62ac6711e7eba82f&_nc_sid=fa').pathname.replace('/', '') -
添加了一些改进并发布。
标签: javascript node.js url filenames pathname