为了账号安全,请及时绑定邮箱和手机立即绑定

无法在客户端验证密码

无法在客户端验证密码

小唯快跑啊 2023-03-03 10:20:39
我正在尝试在我的网页上使用,pdf.js在将其上传到服务器之前,我需要验证 PDF 用户输入的密码是否正确。但我无法让它发挥作用。我使用 CDN 托管pdf.min.js<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.6.347/pdf.min.js" integrity="sha512-Z8CqofpIcnJN80feS2uccz+pXWgZzeKxDsDNMD/dJ6997/LSRY+W4NmEt9acwR+Gt9OHN0kkI1CTianCwoqcjQ==" crossorigin="anonymous"></script>这是密码检查功能:function checkPass() {pdfjsLib.getDocument({        url: 'pdf.pdf',        password: '01010101'    }).promise.then(function (pdf) {        input.classList.add("rightpass");    }).catch(function (error) {        input.classList.add("wrongpass");        console.log(error);    });} 在控制台日志中,它记录Deprecated API usage: No "GlobalWorkerOptions.workerSrc" specified.我试图禁用它,pdfjsLib.disableWorker = true;但没有用。我只需要验证密码,没有别的没有呈现。
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

这是一个工作代码示例:


<html>

<head>

<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.6.347/pdf.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.6.347/pdf.worker.min.js"></script>

<script>

    const pdfName = "empty-protected.pdf";

    async function loaded()

    {

        const loadingTask = pdfjsLib.getDocument({ url: pdfName, password: "qwerty" });

        loadingTask.promise.then(() => console.log(1, "OK"), (ex) => console.log(1, ex));

        

        const loadingTask2 = pdfjsLib.getDocument({ url: pdfName, password: "" });

        loadingTask2.promise.then(() => console.log(2, "OK"), (ex) => console.log(2, ex));

    }

</script>

</head>

<body onload="javascript:loaded();">

</body>

</html>

qwerty这是我用于实验的受密码保护的 pdf 文件(密码是):

https://mega.nz/file/lJg2GKgS#AdVJ0DZ1OfsGrlSqM67dfr_r2n8lBiiOm9q0o4wt7e4

包含pdf.worker.min.js将警告更改"Warning: Deprecated API usage: No "GlobalWorkerOptions.workerSrc" specified.""Warning: Setting up fake worker."


查看完整回答
反对 回复 2023-03-03
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信