我正在使用Ionic框架,它的核心是AngularJS,我正在尝试将文件保存到设备的存储中。此代码适用于创建pdf:
return $q(function(resolve, reject) {
var dd = createDocumentDefinition(invoice);
var pdf = pdfMake.createPdf(dd);
pdf.getBase64(function (output) {
resolve(base64ToUint8Array(output));
});
});
现在我正在尝试使用以下方法保存pdf:
return $q(function (resolve, reject) {
var dd = createDocumentDefinition(invoice);
var pdf = pdfMake.createPdf(dd);
//For download Android
var pdf = pdfMake.createPdf(dd).getBuffer(function (buffer) {
var utf8 = new Uint8Array(buffer); // Convert to UTF-8...
binaryArray = utf8.buffer; // Convert to Binary...
$cordovaFile.writeFile(cordova.file.externalApplicationStorageDirectory, "example.pdf", binaryArray, true) //This saves to device storage
.then(function (success) {
console.log("pdf created");
}, function (error) {
console.log("error");
});
});
});
转换的前几行的主要区域是我认为问题来自哪里,但我似乎无法修复它,每当设备试图保存时我都会收到:
Uncaught TypeError: Object #<Object> has no method 'writeFile'
请问有什么解决方案?
答案 0 :(得分:0)
您确定已安装cordova文件插件吗?请记住,您需要安装文件插件才能使用$ cordovaFile。在项目目录中运行以下命令...
cordova plugin add cordova-plugin-file
有时,您需要在添加插件时删除并重新添加要构建的平台。如果您添加插件但仍然无法尝试删除然后添加平台
cordova platform rm android
ionic platform add android