React Native iOS应用PDF生成异常:getBase64无响应求助
React Native iOS端pdfmake.getBase64无返回导致Promise无法resolve问题
- 接手支持iOS和Android的React Native遗留项目,Android端PDF生成代码运行正常,但iOS端调用pdfmake的
getBase64方法时无回调返回,导致Promise无法resolve - 已确认
docDefinition和pdfDocGenerator实例均正常,怀疑是iOS开发环境打包问题 - 已尝试更换pdfmake版本(0.2.6、0.2.4)、清理依赖及编译缓存等操作,问题仍未解决
- 项目正式版本双端运行均正常,仅开发环境中iOS端出现异常
- package.json中指定pdfmake版本为
^0.2.6,实际安装版本为0.2.7
相关代码
导入语句
import pdfmake from "pdfmake/build/pdfmake"; import pdfFonts from "pdfmake/build/vfs_fonts";
PDF生成函数
const generatePdf = (docDefinition) => new Promise((resolve, reject) => { try { const pdfDocGenerator = pdfmake.createPdf(docDefinition); pdfDocGenerator.getBase64((pdfData) => { resolve({ pdfBase64Data: `data:application/pdf;base64,${pdfData}`, onlyData: pdfData, }); }); } catch (error) { reject(error); } });
内容的提问来源于stack exchange,提问作者Sudhee
相关产品推荐
相关产品推荐

