【问题标题】:Convert PDF file into Base64 string with JavaScript使用 JavaScript 将 PDF 文件转换为 Base64 字符串
【发布时间】:2017-01-29 16:32:28
【问题描述】:

我有一个本地 pdf 文件的链接,我需要该文件作为 base64 字符串。我正在用 JavaScript 编程。 有谁知道我怎样才能得到这个字符串?

更新:

我必须提交对象,因为我下载了 pdf

【问题讨论】:

标签: javascript pdf base64


【解决方案1】:

Screw-FileReader & fetch

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

我可以给你一些你不需要 base64 字符串以及它不方便的原因。但我不知道你为什么需要它......总的原因是URL.createObjectURL,而且它大了〜3倍

【讨论】:

    【解决方案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

    【讨论】:

    • 感谢您的回答!我不确定我应该把我的链接放在哪里。 document.getElementById("inputFile").files; 是什么?它是否返回一个“文件”数组?
    • 我认为不可能从 url 获取文件对象。还是我错了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多