UNPKG

util-helpers

Version:

一个基于业务场景的工具方法库

40 lines (39 loc) 1.58 kB
declare const FileReaderMethodMap: { readonly arrayBuffer: "readAsArrayBuffer"; readonly binaryString: "readAsBinaryString"; readonly dataURL: "readAsDataURL"; readonly text: "readAsText"; }; type ReadType = keyof typeof FileReaderMethodMap; interface FileReader { (blob: Blob, type: 'arrayBuffer'): Promise<ArrayBuffer>; (blob: Blob, type?: Exclude<ReadType, 'arrayBuffer'>): Promise<string>; } /** * 读取 Blob 或 File 对象,转为 Base64/String/ArrayBuffer * * <em style="font-weight: bold;">注意:该方法仅适用于浏览器端。</em> * * @function * @alias module:Browser.fileReader * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader FileReader} * @since 4.16.0 * @param {Blob} blob Blob 或 File 对象 * @param {'arrayBuffer'|'binaryString'|'dataURL'|'text'} [type='dataURL'] 读取类型,默认`dataURL`。可选 `arrayBuffer` `binaryString` `dataURL` `text` 。 * @returns {Promise<string|ArrayBuffer>} 文件内容 * @example * const aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // 一个包含DOMString的数组 * const htmlBlob = new Blob(aFileParts, { type: 'text/html' }); // 得到 blob * * fileReader(htmlBlob).then(data=>{ * console.log(data); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4= * }); * * const textBlob = new Blob(aFileParts, { type: 'text/plain' }); * * fileReader(textBlob, 'text').then(data=>{ * console.log(data); // <a id="a"><b id="b">hey!</b></a> * }); */ declare const fileReader: FileReader; export default fileReader;