我的问题是如何从这种链接中获取图像类型?
https://www.gravatar.com/avatar/71b0d516013802a2d67aeb7c2e77ed32?s=48&d=identicon&r=PG&f=1
例如,在HTML中这样:
<img src="https://www.gravatar.com/avatar/71b0d516013802a2d67aeb7c2e77ed32?s=48&d=identicon&r=PG&f=1" alt="" width="24" height="24" class="-avatar js-avatar-me">
对于这样的链接http://localhost/assets/images/main.jpg
,我试过
var imgType = url.split('.').pop();
对于我使用的something.jpg?name=blah
或something.jpg#blah
这样的网址:
url.split('.').pop().split(/\#|\?/)[0];
获取链接。
答案 0 :(得分:5)
由于内容是动态生成的,没有文件扩展名,因此您无法使用split()
剖析网址。即使这样,依赖文件名也不准确,因为您可以简单地将任何文件重命名为.jpg
。它可能仍然是application/text
文件或任何其他MIME类型。
相反,您可以向图像的位置发出AJAX请求,并从响应中检索content-type
标头,如下所示:
$.ajax({
url: 'https://www.gravatar.com/avatar/71b0d516013802a2d67aeb7c2e77ed32?s=48&d=identicon&r=PG&f=1',
success: function(r, s, x){
var type = x.getResponseHeader("content-type");
console.log(type);
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;