You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Venom Bot发送PDF报错Error to processFiles问题求助

解决Venom-bot发送PDF时的"Error to processFiles"问题

可能的原因及对应方案

1. 绝对路径处理错误

你代码里用的相对路径./curso.pdf和实际文件路径D:portifa/venom/curso.pdf不匹配,Windows系统下路径容易因为分隔符或层级出错,推荐用Node内置的path模块生成可靠的绝对路径:

const path = require('path');
// 直接生成目标文件的绝对路径
const filePath = path.resolve('D:/portifa/venom/curso.pdf');
// 如果文件在项目根目录,也可以用__dirname拼接:
// const filePath = path.join(__dirname, 'curso.pdf');

之后把sendFile的第二个参数换成filePath即可。

2. 文件权限或访问问题

Windows系统下可能存在文件读取权限限制,或者路径拼写错误导致找不到文件:

  • 右键PDF文件→属性→安全,确认当前运行Node的用户有读取权限
  • 先把PDF复制到项目根目录,用相对路径测试,排除深层路径的权限问题

3. Venom-bot版本兼容性问题

你使用的5.0.22版本可能存在文件处理的bug,尝试升级到最新稳定版:

npm install venom-bot@latest

或者降级到用户反馈稳定的5.0.18版本:

npm install venom-bot@5.0.18

4. 提前校验文件存在性

在调用sendFile前先检查文件是否存在,避免因文件缺失触发错误:

const fs = require('fs').promises;

// 先验证文件可访问
await fs.access(filePath, fs.constants.F_OK)
  .then(async () => {
    const response = await client.sendFile(number, filePath, fileName, description);
    res.status(200).json({
      status: true,
      message: 'Mensagem enviada',
      response: response
    });
  })
  .catch(() => {
    res.status(404).json({
      status: false,
      message: '文件不存在或无法访问'
    });
  });

5. 检查文件完整性

确认PDF文件没有损坏——用本地PDF阅读器打开测试,损坏的文件会导致Venom无法解析处理。

调试小技巧

在调用sendFile前打印最终路径,确认路径是否正确:

console.log('当前使用的文件路径:', filePath);

内容的提问来源于stack exchange,提问作者Igor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 04:24:55