2014-10-03 129 views
0

我想用的FileReader概念这样图像转换为base64而不上传

function loadImageFileAsURL() 
{ 
    var filesSelected = document.getElementById("inputFileToLoad").files; 

    if (filesSelected.length > 0) 
    { 
     var fileToLoad = filesSelected[0]; 


     var fileReader = new FileReader(); 

     fileReader.onload = function(fileLoadedEvent) 
     { 
     alert(fileLoadedEvent); 

      document.getElementById("textAreaFileContents").innerHTML = fileLoadedEvent.target.result; 
     }; 

     fileReader.readAsDataURL(fileToLoad); 
    } 
} 

在localStorage的保存图像在基地64个format.I知道,但问题是,我不想上传的任何文件。我只想对现有的图像转换成base64.Hope有人能帮助它

+0

替换“的document.getElementById( “textAreaFileContents”)。在nerHTML ='with'localStorage.myImg =' – dandavis 2014-10-03 18:04:12

+0

在画布上绘制图像,然后将画布数据作为base64。有很多关于它的文章在互联网 – Regent 2014-10-03 18:05:08

+0

@dandavis谢谢,但如何将其转换为base64字符串,而无需上传图像 – 2014-10-03 18:42:35

回答

2

没错这就是一种关闭可能;)

  1. 创建canvas元素
  2. 载入图片到它
  3. 运行canvas.toDataURL()的(Base64编码图像)
  4. 其保存在本地或任何你想要