【发布时间】:2020-06-02 10:50:26
【问题描述】:
我正在尝试创建一个函数来检查用户提供的资源,以查看它是否是有效的音频文件。
我在这里找到的所有内容都与上传文件后检查文件的 MIME 类型有关。这不是我的目标。
//insert MIME type checking function here
const urlParams = new URLSearchParams(window.location.search);
const audioURL = urlParams('audiourl') // get audiourl from query (example.com/?audiourl=https://example.com/audio.wav)
if (mimetypecheck()) { // function to check mime type here
var audio = new Audio(audioURL);
audio.play();
} else {
//tell user invalid audio url, or unsupported audio type
}
【问题讨论】:
-
不下载文件就无法检查类型,所以你不妨检查一下音频是否开始播放。特别是因为检查 MIME 类型并不完全可靠。
-
@GuyIncognito 理论上你可以通过 HEAD 请求。
-
在您的示例中,“音频 URL”似乎来自同一个域,与运行此脚本的域相同。总是应该如此吗?如果没有,那么您可能宁愿忘记使用客户端 JavaScript 来实现这一点 - 您的用户可能在此处输入的大多数“野外”任意 URL 可能不会启用 CORS。
-
示例音频 url 应该是用户输入的内容。他们输入的网址可以是任何@CBroe
标签: javascript mime-types