Skip to content

im.file.create API 无法上传音频文件,返回错误 234001 #180

@RealAndyhuang

Description

@RealAndyhuang

问题描述

使用 client.im.file.create() API 上传音频文件时,始终返回错误 234001 "Invalid request param."。

复现步骤

import * as Lark from '@larksuiteoapi/node-sdk';
import * as fs from 'fs';

const client = new Lark.Client({
  appId: 'cli_xxx',
  appSecret: 'xxx',
});

const response = await client.im.file.create({
  data: {
    file_type: 'audio',
    file_name: 'test.wav',
    file: fs.readFileSync('/path/to/audio.wav'),
  },
});

console.log(response);

错误信息

{
  "code": 234001,
  "msg": "Invalid request param.",
  "error": {
    "log_id": "20260313021649EAAEA8344FB3910BC61F"
  }
}

测试环境

  • SDK 版本: @larksuiteoapi/node-sdk (latest)
  • Node.js 版本: v24.14.0
  • 文件格式: WAV (44.1kHz, 单声道,16bit, 88KB, 1 秒)
  • 也测试过: MP3 (192kbps, 44.1kHz) - 同样错误

已尝试的解决方案

  1. ✅ 认证正常 - 同一账号的图片上传 (im.image.create) 工作正常
  2. ✅ 文件格式 - 测试了 WAV 和 MP3 格式,都失败
  3. ✅ 文件大小 - 测试了小文件 (88KB) 和大文件 (8MB),都失败
  4. ✅ 上传方式 - 测试了 Buffer 和 ReadStream,都失败

对比测试

图片上传(成功)

await client.im.image.create({
  data: {
    image_type: 'message',
    image: fs.readFileSync('test.jpg'),
  },
});
// ✅ 成功返回 image_key

音频上传(失败)

await client.im.file.create({
  data: {
    file_type: 'audio',
    file_name: 'test.wav',
    file: fs.readFileSync('test.wav'),
  },
});
// ❌ 失败,错误 234001

期望行为

成功上传音频文件,返回 file_key,用于发送语音消息。

问题影响

无法实现飞书语音消息发送功能,影响用户体验。

相关文档

Log IDs

  • 202603130215278D8316D598E55D06ACC9
  • 20260313021614616234786F08D50F996F
  • 20260313021649EAAEA8344FB3910BC61F
  • 20260313021649C3FFEDE26F8E7906A7FA

请协助调查此问题,谢谢!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions