Javascript 如何将文件输入转换为base64-react js

Javascript 如何将文件输入转换为base64-react js,javascript,reactjs,Javascript,Reactjs,我有一个文件输入,我想将其转换为base64并发送到服务器端。这是我的代码: var avatar = (this.refs.avatar) ? this.refs.avatar.files : "" ; if(avatar.length > 0){ avatar = avatar[0] let fileReader = new FileReader(); let file = null; fileReader.onload = function(fileLoadedEv

我有一个文件输入,我想将其转换为base64并发送到服务器端。这是我的代码:

var avatar = (this.refs.avatar) ? this.refs.avatar.files : "" ;

if(avatar.length > 0){
  avatar = avatar[0]
  let fileReader = new FileReader();
  let file = null;
  fileReader.onload = function(fileLoadedEvent) {
       file = fileLoadedEvent.target.result;

   };
   fileReader.readAsDataURL(avatar);
}else{
  avatar = ""
}

console.log(avatar); //File(2468670) {name: "wood.png", lastModified: 1524227213060, lastModifiedDate: Fri Apr 20 2018 16:56:53 GMT+0430 (+0430), webkitRelativePath: "", size: 2468670, …}
我应该将化身转换为base64吗?
我应该转换到服务器端的原始文件。

函数对使用base-64编码的数据字符串进行解码。相反,
btoa()
函数从二进制数据的“字符串”创建一个base-64编码的ASCII字符串。

为什么需要转换它?上载它会将其转换为正确的MIME类型。服务器可以从那里处理它。我的web服务需要base64字符串参数。你的代码完成了这项工作,有什么问题吗?文件是avatarhow的base64表示形式如何转换为base64?我应该将
文件
转换为base64还是
avatar