我有一个cordova应用程序正在运行,我有一个扩展文件,托管了很多pdf文档。我希望能够从该扩展文件中打开一个pdf文件,并将整个文件转换为基本的64字符串,以便从我的应用程序中打印该pdf。我正在尝试使用这个cordova插件:https://github.com/sarahgoldman/cordova-print-pdf-plugin这很棒,但没有解释如何实际创建base 64字符串。
我试图使用
var files = new File([""], "filename.pdf",{type:'application/pdf'});
console.log(files);
if (files.length > 0) {
getBase64(files[0]);
}
});
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
console.log(reader.result);
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
其中filename.pdf存储在我的扩展文件中,但我没有从代码中获得正确的响应。
任何帮助将不胜感激。 谢谢,
答案 0 :(得分:0)
你真的在一个问两个问题。
Cordova中的扩展文件
要获取扩展文件的内容,我建议使用此cordova插件: https://github.com/agamemnus/cordova-plugin-xapkreader/tree/cordova-6.5.0 它有助于访问扩展文件中的文件,因此您可以执行以下操作:
<img src="content://com.test.expansion/myfile.png">
关键是按照安装说明进行操作,因为这个插件比我安装的大多数其他插件需要更多的工作。
Javascript中的Base64编码
查看 btoa()和 atob()函数。它们将文本转换为base64编码。 将PDF内容提供给该函数并将其交给pdf插件。