Blob:type 属性

注意:此功能在Web Workers中可用。

typeBlob 接口的只读属性,它返回文件的 MIME 类型

注意:根据当前的实现,浏览器实际上不会读取文件的字节流以确定其媒体类型。它是根据文件扩展名推断的;将 PNG 图像文件重命名为 .txt 将给出“text/plain”,而不是“image/png”。此外,blob.type 通常仅对常见的文件类型(如图像、HTML 文档、音频和视频)可靠。不常见的扩展名将返回空字符串。客户端配置(例如,Windows 注册表)可能会导致即使对于常见类型也出现意外的值。建议开发人员不要将此属性作为唯一的验证方案。

包含文件 MIME 类型的字符串,如果无法确定类型,则为一个空字符串。

示例

此示例要求用户选择多个文件,然后检查每个文件以确保它属于给定的一组图像文件类型。

HTML

html
<input type="file" id="input" multiple />
<output id="output">Choose image files…</output>

JavaScript

js
// Our application only allows GIF, PNG, and JPEG images
const allowedFileTypes = ["image/png", "image/jpeg", "image/gif"];

const input = document.getElementById("input");
const output = document.getElementById("output");

input.addEventListener("change", (event) => {
  const files = event.target.files;

  if (files.length === 0) {
    output.innerText = "Choose image files…";
    return;
  }

  const allAllowed = Array.from(files).every((file) =>
    allowedFileTypes.includes(file.type),
  );
  output.innerText = allAllowed
    ? "All files clear!"
    : "Please choose image files only.";
});

结果

规范

规范
文件 API
# dfn-type

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅