Javascript 获取图像或节点的base64的最佳方法

Javascript 获取图像或节点的base64的最佳方法,javascript,node.js,angular,base64,tobase64string,Javascript,Node.js,Angular,Base64,Tobase64string,我想获取图像的base64数据。我在angular 6中作为前端工作,在NodeJS中作为后端工作。我应该从哪里获得base64字符串?要么它是在前端计算的,要么我必须在后端转换它,然后将其发送回前端? 在前端和后端获取base64数据的最佳方法是什么您可以通过以下客户端代码获取base64 handleFileSelect(evt){ var files = evt.target.files; var file = files[0]; if (files &a

我想获取图像的base64数据。我在angular 6中作为前端工作,在NodeJS中作为后端工作。我应该从哪里获得base64字符串?要么它是在前端计算的,要么我必须在后端转换它,然后将其发送回前端?
在前端和后端获取base64数据的最佳方法是什么

您可以通过以下客户端代码获取base64

handleFileSelect(evt){
      var files = evt.target.files;
      var file = files[0];

    if (files && file) {
        var reader = new FileReader();

        reader.onload =this._handleReaderLoaded.bind(this);

        reader.readAsBinaryString(file);
    }
  }



  _handleReaderLoaded(readerEvt) {
     var binaryString = readerEvt.target.result;
            this.base64textString= btoa(binaryString);
            console.log(btoa(binaryString));
    }

您可以在前端和后端转换映像。
如果您不需要存储图像,那么最好在前端对其进行转换。否则,如果要将图像存储为base64格式,则可以在服务器端对其进行转换

您可以在angular和NodeJ上转换为base64。视需要而定。如果你在任何一方都有转换的灵活性,我建议你使用nodejs。若您尝试使用angular,此转换将在浏览器上完成,其中浏览器可能在低端计算机上打开,并且某些文件api特定于浏览器。如果文件大小过大,Filereader或FIleonload将花费更多时间


但是,由于大多数服务器将托管在高端计算机上,这将提高性能,并解决浏览器兼容性问题。

尝试更好地使用Blobit,以便在后端计算并传递到UI。示例:谢谢,@HarshaHr,我也在考虑采用这种方法。因为我记得上次我在前端转换它时,Chrome浏览器在获取50mb大小的base64视频时崩溃了。