Blob:type 属性
注意:此功能在Web Workers中可用。
type
是 Blob
接口的只读属性,它返回文件的 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 的浏览器中加载。