在前端开发中,常常需要将文件转换成二进制数据,比如将图片转成 base64 编码的字符串。这时候就可以使用 npm 包 file-to-bin 来实现。
安装
使用 npm 命令进行安装:
npm install file-to-bin
使用方法
1.将文件转成 ArrayBuffer 对象
可以使用 file-to-bin 包中的 fileToArrayBuffer 方法来将文件转成 ArrayBuffer 对象。
const fileToBin = require('file-to-bin'); // 将文件转成 ArrayBuffer 对象 const file = new File(['hello world'], 'test.txt'); fileToBin.fileToArrayBuffer(file) .then((buffer) => { console.log(buffer); });
这里的 file 是一个 File 对象,它可以通过用户上传或者拖拽文件得到。将文件传入 fileToArrayBuffer 方法中,返回一个 Promise 对象,它的 then 方法中的参数是转换后的 ArrayBuffer 对象。
2.将文件转成 base64 编码的字符串
可以使用 file-to-bin 包中的 fileToBase64 方法来将文件转成 base64 编码的字符串。
const fileToBin = require('file-to-bin'); // 将文件转成 base64 编码的字符串 const file = new File(['hello world'], 'test.txt'); fileToBin.fileToBase64(file) .then((base64Str) => { console.log(base64Str); });
同样地,file 是一个 File 对象,fileToBase64 方法返回一个 Promise 对象,它的 then 方法中的参数是转换后的 base64 编码的字符串。
示例代码
下面介绍一个将多个文件转成 base64 编码的字符串的例子:
-- -------------------- ---- ------- ----- --------- - ----------------------- ----- ----- - - --- ------------ -------- ------------ --- --------- -------------- -- ----- ----------- -- ---------------------------------------------- -------------------- -- - -------------------------- ---
这里将两个文件传入 fileToBin.fileToBase64 方法,由于 fileToBin.fileToBase64 方法返回的是一个 Promise 对象,这里使用 Promise.all 方法来等待所有 Promise 对象都完成,并一次性地处理所有 Promise 对象的返回值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5ef75b6f403f2923b035b921