我有应用程序使用离子框架使用电容器(角).应用程序都部署在Android和IOS.从应用程序中,你可以下载生成的PDF.
我使用以下代码来实现:
static async writeAndOpenFile(data: Blob, fileName: string) {
const reader = new FileReader();
reader.readAsDataURL(data);
reader.onloadend = async function () {
const base64data = reader.result;
try {
const result = await Filesystem.writeFile({
path: fileName,
data: <string>base64data,
directory: Directory.Data,
recursive: true
});
let fileOpener: FileOpener = new FileOpener();
fileOpener.open(result.uri, data.type)
.then(() => console.log('File is opened'))
.catch(e => console.log('Error opening file', e));
} catch (e) {
console.error('Unable to write file', e);
}
}
}
然而,当我试图写更大的PDF文件时,应用程序崩溃了。我想知道是否有解决方案
谢谢你
1条答案
按热度按时间5lhxktic1#
Filesystem.writeFile(...)
方法不用于写入大文件。您应该使用以下两个插件之一:为了避免此类问题,您根本不应该将文件加载到WebView中。