Javascript 如何从本地音频文件生成base64字符串
如何从本地音频文件生成base64字符串 我需要通过socket.io作为base 64字符串发送after 实际上我用的是angularjsJavascript 如何从本地音频文件生成base64字符串,javascript,base64,Javascript,Base64,如何从本地音频文件生成base64字符串 我需要通过socket.io作为base 64字符串发送after 实际上我用的是angularjs angular.module('starter.controllers', []) .controller('DashCtrl', function () { var handleFileSelect = function (evt) { var file = evt.target.files[0]; var re
angular.module('starter.controllers', [])
.controller('DashCtrl', function () {
var handleFileSelect = function (evt) {
var file = evt.target.files[0];
var reader = new FileReader();
// this is the path of the file that i will have to send to the server
// /android_asset/www/sounds/button-1.mp3
reader.onload = function (readerEvt) {
var binaryString = readerEvt.target.result;
document.getElementById("base64textarea").value = btoa(binaryString);
};
reader.readAsBinaryString(file);
};
});
只需使用
.readAsDataURL()
文件读取器方法并切掉MIME前缀如果MIME前缀呢?我建议使用缓冲区(.readAsArrayBuffer()
)而不是base64,因为base64的大小大约是base64的3倍,并且socket.io v1支持二进制数据,所以…顺便说一句,不支持readAsBinaryString必须使用.readAsDataURL()
文件读取器方法并切掉MIME前缀如果MIME前缀呢?我建议使用缓冲区(.readAsArrayBuffer()
)而不是base64,因为base64的大小大约是base64的3倍,并且socket.io v1支持二进制数据,所以…顺便说一句,readAsBinaryString已弃用