Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从本地音频文件生成base64字符串_Javascript_Base64 - Fatal编程技术网

Javascript 如何从本地音频文件生成base64字符串

Javascript 如何从本地音频文件生成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

如何从本地音频文件生成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 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已弃用