2.1.0 • Published 3 years ago
get-real-file-type v2.1.0
get-real-file-type
获取文件真实的 mimeType 并与目标格式进行比较的工具库
安装
$ npm install get-real-file-type
用法
import { TypeFile } from 'get-real-file-type';
const fileInput = document.createElement('input');
fileInput.setAttribute('type', file);
fileInput.onchange = function(e) {
const file = e.target.files[0];
const typeFile = new TypeFile(file); // 这里支持传入File实例/包含File实例的对象/Uint8Array
typeFile.onParseEnd = function() {
if(this.isType('video/mp4')) {
// TODO Suc
}
if(this.isType(['video/mp4', 'video/flv', 'video/vnd.avi'])) {
// TODO Suc
}
};
typeFile.onParseError = function() {
// TODO Error
}
typeFile.start();
}
API
TypeFile(input)
input
参数需要是一个浏览器的File实例
,或者是一个object
包含File实例
,或者是一个Uint8Array
File
实例最终也会转化为Uint8Array
该函数会返回一个TypeFile
实例:
start()
start
方法调用后,文件就开始解析。
看解析的结果来调用onParseEnd
或onParseError
onParseEnd()
onParseEnd
会在start
方法执行后,文件解析成功
后立即调用,此时该实例已经初始化完成。
初始化完成后会给实例初始化以下属性:
ext
- 根据文件名解析的后缀(只传入 Uint8Array 为 null)mime
- 浏览器通过文件名后缀解析的 mimeType(只传入 Uint8Array 为 null)realExt
- 真实的文件后缀realMime
- 真实的文件的 mimeType
识别不出的属性也为 null
onParseError(reason)
onParseError
会在start
方法执行后,文件解析失败
后立即调用。
默认第一个参数是错误的原因
isType(targetMimeType, compareType?)
targetMimeType
可以传入一个字符串,或者一个字符串数组,用于和实例中的文件属性进行比较。
compareType
默认为TypeFile.COMPARE_TYPE.REAL_FIRST
,也就是0
,优先比较真实的文件属性。
返回值为Boolean
TypeFile.COMPARE_TYPE
- REAL_FIRST: 0 - 表示优先比较真实的文件信息
- BROWSER_FIRST: 1 - 表示优先比较浏览器获取的文件信息
- REAL_ONLY: 2 - 表示只比较真实的文件信息
- BROWSER_ONLY: 3 - 表示只比较浏览器获取的文件信息
browserMimeMapping
由自己维护的浏览器获取的 mimeType 的映射表,来源点击以下查看,以后可能会补充
realMimeMapping
由file-type
库维护的真实文件 mimeType 映射表
- realMimeMapping'video/mp4'
- realMimeMapping'audio/mpeg'
- ...
realExtMapping
由file-type
库维护的真实文件后缀映射表
2.1.0
3 years ago
2.0.1
4 years ago
2.0.0
4 years ago
1.1.3
4 years ago
1.1.2
5 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.11
5 years ago
1.0.10
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago