Ich versuche gerade, ein PDF, das mit PDFMake erstellt wurde, in eine Datei zu schreiben, und nehme dann diese Datei und hefte sie an eine E-Mail an. Ich habe 6 Stunden damit verbracht, dies zu tun, und ich bekomme immer wieder Fehler.Ionic 2 Dateispeicher
Unten ist mein Code zum Exportieren der PDF. Ich habe das PDF in Serve mit createPDF.open() getestet und es hat funktioniert. Ich habe auch die Base64-Daten in der Konsole gedruckt.
exportPDF() {
console.log("ExportPDF()")
this.pdf = pdfMake;
// For use in browser(web)
//this.pdf.createPdf(getDocDefinition(this.issues, this.project, this.report)).open();
let data : string;
let newPDF;
this.pdf.createPdf(getDocDefinition(this.issues, this.project, this.report)).getBase64((buffer) => {
data = buffer;
console.log("newPDF: " + data)
});
// this.pdf.createPdf(getDocDefinition(this.issues, this.project, this.report)).getBuffer((buffer) => {
// data = buffer.toArrayBuffer();
// console.log("newPDF: " + data)
// });
// Platforms
if (this.plat.is('ios')) {
console.log("Platform: ios")
let file = "testFingering.pdf"
console.log(cordova.file.cacheDirectory);
File.removeFile(cordova.file.cacheDirectory, file);
File.writeFile(cordova.file.cacheDirectory, file, data).then(() => {
// Success!
console.log("writeFile: success!")
SocialSharing.share("tits", "tits", cordova.file.cacheDirectory + file).then(() => {
// Success!
console.log("shareViaEmail: success!")
}).catch((err) => {
// Error!
console.log("shareViaEmail: fail! " + err)
});
}).catch((err) => {
// Error!
console.log("writeFile: fail! " + JSON.stringify(err));
});
} else if (this.plat.is('android')) {
console.log("Platform: android")
} else if (this.plat.is('windows')) {
console.log("Platform: windows")
} else {
console.log("Platform: web")
}
}
Hier sind die Fehler Ich erhalte:
2017-01-31 20:40:12.997343 CMTA[1725:417453] writeFile: fail! {"code":12,"message":"PATH_EXISTS_ERR"}
2017-01-31 20:40:13.013456 CMTA[1725:417453] writeFile: fail! {"code":"Invalid parameter type"}
ich nur Ausführen dieses Code einmal, so 1) Ich bin nicht sicher, warum es zwei Fehler protokolliert.
2) Ich weiß "PATH_EXISTS_ERR" bedeutet, dass der Pfad bereits existiert, aber wenn Sie in den Code schauen, lösche ich die Datei und erstelle sie jedes Mal neu.
3) Welchen Parameter sollte ich eingeben? Es sagt, es wird "Text" akzeptieren, sollte ich etwas anderes verwenden? Ich habe vorher versucht, auf BufferArray() zu antworten, denn das habe ich in meiner Ionic 1-Version dieser App gemacht, aber das funktioniert nicht mehr.
Ich würde jede Hilfe sehr schätzen, da dies mich zu keinem Ende frustriert.