微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vue离子电容器未在android中下载文件

如何解决Vue离子电容器未在android中下载文件

我正在尝试创建一个应用程序,该应用程序根据用户提供的信息,从本地资产中获取 PDF 公式,在其上写入该信息,然后下载。

它在浏览器上运行得非常好,我成功地获取文件,但是当我创建应用程序构建并在移动设备中尝试时,没有任何反应。我收到“文件已下载!”的消息或我放置的任何日志,但该文件从未开始下载。我已经拥有存储权限。只是正常结束函数但忽略下载。

我使用 unpkg 库下载,但也尝试使用 SaveAs 并创建一个 然后单击它,但我得到了完全相同的结果。

这是完整的功能

    async generateDecklist()
    {
        const formUrl=('../../../assets/decklist.pdf');

        const formPdfBytes = await fetch(formUrl).then(res => res.arrayBuffer());

        const pdfDoc = await PDFDocument.load(formPdfBytes);
        const form = pdfDoc.getForm();

        const formFields = form.getFields()

        //START FILLING FORM

        //Deck Name & Nation
        form.getTextField('Deck NameRow1').setText(this.deck.name);
        form.getTextField('ClanRow1').setText(this.deck.nation);

        for (let i = 0; i<this.deck.decklist.length; i++)
        {
            const cs = this.deck.decklist[i];
            const card = Global.cards.find(e => e.id == cs.cardId);

            //Card Name
            const mainDeckCard = "Main deck 50 cardsRow" + (i+1);
            form.getTextField(mainDeckCard).setText(card.name);
            
            //Card Grade
            formFields[16+i].setText(card.grade.toString());

            //Card Amount
            const mainDeckAmount = "Main deck Qty" + (i+1);
            form.getTextField(mainDeckAmount).setText(cs.amount.toString());          
            
            //Card set (Only if there is only one set)
            if(card.sets.length ==1)
            {
                const mainDeckSet = 'No.'+ ((i+13)>=15? (i+14) : (i+13));
                form.getTextField(mainDeckSet).setText(card.sets[0]);
            }

            //Card trigger or sentinel
            let triggerOrSentinel ='';
            if(card.type == 'Trigger Unit')
            {
                triggerOrSentinel += card.trigger; 
            }
            if(card.keywords.includes('Sentinel'))
            {
                triggerOrSentinel += triggerOrSentinel==''? 'Sentinel' : '/Sentinel';
            }
            const mainDecktrigger = "Main deck Row" + (i+1);
            form.getTextField(mainDecktrigger).setText(triggerOrSentinel);

        }

        //END FILLING FORM


        //PROBLEM STARTS HERE
        const pdfBytes = await pdfDoc.save();

        download(pdfBytes,`${this.deck.name}_decklist.pdf`,"application/pdf");

        
        modalController.dismiss();

     }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。