Javascript 如何将图像转换为文件中的Base64字符串?

Javascript 如何将图像转换为文件中的Base64字符串?,javascript,jquery,base64,Javascript,Jquery,Base64,我想选择多个图像并将其转换为Base64字符串。我将文件放入一个数组中。我的要求是,在转换成Base64字符串后,我希望将它们放入数组中。我无法将图像转换为Base64字符串 $(“输入[name=property\u images]”)。更改(函数(){ 变量名称=[]; 对于(var i=0;i

我想选择多个图像并将其转换为Base64字符串。我将文件放入一个数组中。我的要求是,在转换成Base64字符串后,我希望将它们放入数组中。我无法将图像转换为Base64字符串

$(“输入[name=property\u images]”)。更改(函数(){
变量名称=[];
对于(var i=0;i<$(this).get(0).files.length;++i){
name.push($(this.get(0).files[i].name);
}
console.log(名称);
});

这里我们有一个图像来转换base64字符串

函数readFile(){
if(this.files){

对于(i=0;i这里我们有一个图像来转换base64字符串

函数readFile(){
if(this.files){

对于(i=0;i更改函数以存储base64值

$(document).ready(function(){
    $("input[name=property_images]").change(function() {
      var imgBase64Arr = [];
      var files = this.files;
      for (var i = 0; i < files.length; i++) {
        (function(i){
          var FR = new FileReader();
          FR.onload = function(e) {
            imgBase64Arr.push( e.target.result );//adding base64 value to array

            if(i === files.length -1)//after all files are porcessed
              submitData(imgBase64Arr)
          };
          FR.readAsDataURL(files[i]);
        })(i);
      }

    });

   function submitData(imgBase64Arr){
     console.log(imgBase64Arr);
   }
});
$(文档).ready(函数(){
$(“输入[name=property\u images]”)。更改(函数(){
变量imgBase64Arr=[];
var files=this.files;
对于(var i=0;i
更改函数以存储base64值

$(document).ready(function(){
    $("input[name=property_images]").change(function() {
      var imgBase64Arr = [];
      var files = this.files;
      for (var i = 0; i < files.length; i++) {
        (function(i){
          var FR = new FileReader();
          FR.onload = function(e) {
            imgBase64Arr.push( e.target.result );//adding base64 value to array

            if(i === files.length -1)//after all files are porcessed
              submitData(imgBase64Arr)
          };
          FR.readAsDataURL(files[i]);
        })(i);
      }

    });

   function submitData(imgBase64Arr){
     console.log(imgBase64Arr);
   }
});
$(文档).ready(函数(){
$(“输入[name=property\u images]”)。更改(函数(){
变量imgBase64Arr=[];
var files=this.files;
对于(var i=0;i
我以前用Angular做过这件事,我只是警告你,如果你的图像比图标大,那么你的浏览器在处理与base64一样长的字符串时会遇到严重问题。它使我的chrome崩溃,我根本无法使用base64方法!我以前用Angular做过这件事,我只是警告你,如果你的图像比图标大,那么比浏览器长的图标在处理与base64一样长的字符串时遇到重大问题。它使我的chrome崩溃,我根本无法使用base64方法!我尝试了你的代码Uncaught TypeError:无法读取FileReader.FR.onLoad上未定义的属性“2”。我现在尝试了单文件Uncaught TypeError:无法读取未定义的属性“1”在FileReader.FR.onloadMr azad,可能的方法是拉小提琴answer@SagunthalaK对您没有帮助?@kaido它只是在处理完所有图像后显示数组的内容。我尝试了您的代码未捕获类型错误:无法读取FileReader.FR.onLoad上未定义的属性“2”。我现在尝试了单文件未捕获类型错误:无法读取属性“1”'对于FileReader.FR.onLoad未定义的azad先生,可能的方法是拉小提琴answer@SagunthalaK对你没有帮助吗?@kaido只是在处理完所有图像后显示数组的内容我需要多选image@Vijay不要只是复制粘贴别人answers@azad对不起。现在可以了吗?我需要多选image@Vijay不要抄袭爸爸ste其他answers@azad对不起,现在可以了吗?