HtmlImageElement-如果其src没有扩展名,如何获取图像类型

sbe*_*lin 4 html javascript

是否可以像这样通过src获取图像类型(gif,png,jpeg等)?

<img src="http://d1aviatl7dpuhg.cloudfront.net/image/url/64/aHR0cDovL3BpeGNtc2FkbWluLnBpeGFibGUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE1LzA3L3NoYXJrLmpwZw==">
Run Code Online (Sandbox Code Playgroud)

或由new Image()构造函数创建。

在W3规范中找不到任何有用的东西。

我猜想单独的“ XHR get src”是一种解决方案,但也许有更好的方法吗?

更新:由于CORS,各种XRH都失败了,所以ajax在这里不起作用。

Jon*_*Lin 6

在扩展程序中运行时,以下作品有效(不受CORS限制)

我一直在探索同样的问题,以下是可行的:

  1. 从给定图像中下载图像src作为Blob
  2. 斑点将在属性中具有图像类型 blob.type

代码示例(带有async / await和fetch API):

async function getImageBlob(imageUrl) {
    const response = await fetch(imageUrl)
    return response.blob()
}

const blob = await getImageBlob("http://path.to.image.com")
blob.type // Image Content-Type (e.g. "image/png")
Run Code Online (Sandbox Code Playgroud)


小智 1

http://www.andygup.net/easy-find-image-type-in​​-javascript/

我想您可能会从此页面获得一些帮助。