2016-09-21 815 views
0

我有一個鏈接到本地​​PDF文件,我需要這個文件爲Base64字符串。我使用JavaScript進行編程。 有人知道我怎麼能得到這個字符串?轉換PDF文件轉換成字符串的Base64用JavaScript

UPDATE:

我必須提交對象,因爲我下載的PDF

+4

可能的複製/問題/ 13538832 /轉換-PDF至A-base64編碼串式的JavaScript) –

+0

你不應該爲Base64的PDF ...爲什麼你需要那些? – Endless

回答

2

試試這個: -

<input id="inputFile" type="file" onchange="convertToBase64();" /> 

<script type="text/javascript"> 
    function convertToBase64() { 
     //Read File 
     var selectedFile = document.getElementById("inputFile").files; 
     //Check File is not Empty 
     if (selectedFile.length > 0) { 
      // Select the very first file from list 
      var fileToLoad = selectedFile[0]; 
      // FileReader function for read the file. 
      var fileReader = new FileReader(); 
      var base64; 
      // Onload of file read the file content 
      fileReader.onload = function(fileLoadedEvent) { 
       base64 = fileLoadedEvent.target.result; 
       // Print data in console 
       console.log(base64); 
      }; 
      // Convert data to base64 
      fileReader.readAsDataURL(fileToLoad); 
     } 
    } 
</script> 

this

+0

感謝您的回答!我不確定我應該在哪裏放置我的鏈接。什麼'document.getElementById(「inputFile」)。文件;'?它是否返回一組「文件」? –

+0

,我認爲這是不可能從一個網址,以獲取一個文件對象。或者我錯了? –

2

隨着Screw-FileReader & fetch

fetch('/file.pdf') 
.then(res => res.blob()) 
.then(blob => blob.dataUrl()) 
.then(base64 => console.log(base64)) 

我可以給你幾個原因,你並不需要以base64字符串和爲什麼它的不方便。但我不知道爲什麼你需要它......總體原因是URL.createObjectURL,它是的〜[PDF格式轉換爲在Javascript Base64編碼字符串(http://stackoverflow.com 3倍大