util-helpers
Version:
37 lines (36 loc) • 1.42 kB
TypeScript
import { UploadFile } from './utils/file.util';
/**
* 检查文件是否符合 `accept` 类型说明符。
*
* 通过 `file.type` `file.name` `file.url` 与 `accept` 进行匹配。
*
* @alias module:Browser.checkFileType
* @since 5.1.0
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input/file#唯一文件类型说明符 唯一文件类型说明符}
* @see {@link https://www.iana.org/assignments/media-types/media-types.xhtml Media Types}
* @param {File} file 文件对象。支持 antd `UploadFile` 对象。
* @param {string} [accept] 文件类型说明符。
* @returns {boolean} 如果 `file` 符合 `accept` 返回 `true`, 否则返回 `false`。
* @example
*
* const pdf = new File([], '1.pdf', { type: 'application/pdf' });
* const jpeg = new File([], 'xx.jpeg', { type: 'image/jpeg' });
*
* // 文件类型
* checkFileType(pdf, 'application/pdf'); // true
* checkFileType(jpeg, 'image/jpeg'); // true
*
* // 通配符
* checkFileType(jpeg, 'image/*'); // true
* checkFileType(pdf, 'image/*'); // false
* checkFileType(pdf, 'application/*'); // true
* checkFileType(pdf, '*'); // true
* checkFileType(jpeg, '*'); // true
*
* // 文件名扩展名
* checkFileType(jpeg, '.png,.jpeg,.jpg'); // true
* checkFileType(pdf, '.pdf'); // true
*
*/
declare function checkFileType(file: File | UploadFile, accept?: string): boolean;
export default checkFileType;