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

LinkedIn视频API分片上传失败,报CORRUPTED_ENTITY错误求助

排查思路与解决建议

核心问题分析

收到CORRUPTED_ENTITY错误,说明上传的分片合并后视频文件损坏,你的代码存在两个关键错误导致该问题:


1. 二进制文件读取方式错误

你用fs.readFileSync(filepath, {encoding:'utf8', flag:'r'})读取视频文件,utf8编码会破坏二进制视频数据——视频属于二进制文件,不能用文本编码读取,必须读取原始二进制buffer。

修复方法:
移除encoding:'utf8'参数,直接读取二进制buffer:

const buffer = fs.readFileSync(filepath); // 无encoding参数,返回原始Buffer类型

2. 分片切片的区间计算错误

LinkedIn要求分片大小为4194303字节,但你的切片逻辑存在字节丢失:

  • Blob.slice(start, end)是前闭后开区间,即包含start字节,不包含end字节,因此第一个分片slice(0, 4194303)正好是4194303字节。
  • 但你第二个分片从4194304开始,跳过了第4194303字节(索引从0开始),每个分片之间都少1字节,最终合并后的文件比原文件少4字节,直接导致文件损坏。

修复方法:
按连续区间计算分片,起始位置等于上一个分片的结束位置:

const chunkSize = 4194303;
const blobChild1 = blobParent.slice(0, chunkSize, 'video/mp4');
const blobChild2 = blobParent.slice(chunkSize, chunkSize * 2, 'video/mp4');
const blobChild3 = blobParent.slice(chunkSize * 2, chunkSize * 3, 'video/mp4');
const blobChild4 = blobParent.slice(chunkSize * 3, chunkSize * 4, 'video/mp4');
const blobChild5 = blobParent.slice(chunkSize * 4, buffer.length, 'video/mp4');

或者用循环自动生成分片,避免手动计算出错:

const chunkSize = 4194303;
const blobsArray = [];
for (let i = 0; i < buffer.length; i += chunkSize) {
  const end = Math.min(i + chunkSize, buffer.length);
  blobsArray.push(blobParent.slice(i, end, 'video/mp4'));
}

3. 其他次要问题

  • 变量重复声明:你先声明了var blobsArray = [],后面又用const blobsArray = [...],会触发语法错误,删掉前面的var声明即可。
  • 不必要的async包裹:splitVideo是async函数,但内部用了同步的fs.readFileSync,如果要保持异步风格,建议改用异步读取:
const splitVideo = async (filepath) => {
  const buffer = await fs.promises.readFile(filepath);
  const blobParent = new Blob([buffer], {type: 'video/mp4'});
  const chunkSize = 4194303;
  const blobsArray = [];
  for (let i = 0; i < buffer.length; i += chunkSize) {
    const end = Math.min(i + chunkSize, buffer.length);
    blobsArray.push(blobParent.slice(i, end, 'video/mp4'));
  }
  return blobsArray;
};

验证步骤

  1. 修复代码后,先在本地合并分片,检查合并后的文件大小是否和原文件完全一致(20301174字节)。
  2. 确认合并后的文件可以正常播放,再重新上传到LinkedIn API。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:43:26