【发布时间】:2017-01-29 16:32:28
【问题描述】:
我有一个本地 pdf 文件的链接,我需要该文件作为 base64 字符串。我正在用 JavaScript 编程。 有谁知道我怎样才能得到这个字符串?
更新:
我必须提交对象,因为我下载了 pdf
【问题讨论】:
-
您不应该对 pdf 进行 base64... 为什么需要它?
标签: javascript pdf base64
我有一个本地 pdf 文件的链接,我需要该文件作为 base64 字符串。我正在用 JavaScript 编程。 有谁知道我怎样才能得到这个字符串?
更新:
我必须提交对象,因为我下载了 pdf
【问题讨论】:
标签: javascript pdf base64
fetch('/file.pdf')
.then(res => res.blob())
.then(blob => blob.dataUrl())
.then(base64 => console.log(base64))
我可以给你一些你不需要 base64 字符串以及它不方便的原因。但我不知道你为什么需要它......总的原因是URL.createObjectURL,而且它大了〜3倍
【讨论】:
试试这个:-
<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; 是什么?它是否返回一个“文件”数组?