首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用NodeJS SDK中的transloadit addStream()函数?

如何使用NodeJS SDK中的transloadit addStream()函数?
EN

Stack Overflow用户
提问于 2020-07-13 13:11:14
回答 1查看 52关注 0票数 0

试用transloadit api,当我在transloadit网站上使用测试模式时,该模板可以工作,但当我尝试在Node JS中与SDK一起使用它时,我得到了一个错误:

代码语言:javascript
复制
INVALID_FORM_DATA - https://api2.transloadit.com/assemblies - INVALID_FORM_DATA: The form contained bad data, which cannot be parsed.

相关代码:(_asset.content)是一个Buffer对象

代码语言:javascript
复制
async function getThumbnailUrl(_assetkey: string, _asset: I.FormFile): Promise<string> {
  let tOptions = {
    waitForCompletion: true,
    params: {
      template_id: process.env.THUMB_TRANSLOADIT_TEMPLATE,
    },
  };
  const stream = new Readable({
    read() {
      this.push(_asset.content);
      this.push(null);
    },
  });
  console.log(_asset.content);
  util.transloadit.addStream(_assetkey, stream);

  return new Promise((resolve, reject) => {
    util.transloadit.createAssembly(tOptions, (err, status) => {
      if (err) {
        reject(err);
      }
      console.log(status);
      //return status;
      resolve(status);
    });
  });
}
EN

回答 1

Stack Overflow用户

发布于 2021-03-02 19:08:36

我注意到你也在Transloadit论坛上发布了这个问题-所以如果其他人遇到这个问题,你可以在这个主题here上找到更多信息。

以下是OP发现的一个可能有用的变通方法:

只是为了结束这个话题,我刚刚测试了我的变通方法(上传到s3,然后使用导入s3机器人来获取文件),并让它与nodejs sdk一起工作,所以我应该可以很好地使用它。

我怀疑我得到的错误不是与transloadit api有关,而是与节点js (https://github.com/form-data/form-data 1)的表单数据库有关,并且不知何故没有以transloadit api期望的方式输入表单数据。

但由于没有我能找到的那个库的替代品,我真的无法验证这个假设。

Transloadit核心团队也对此问题给出了以下回应:

它可能会尝试将他的流设置为Tus流,这意味着它们不会作为多部分/表单数据上传。

在任何一种情况下,他的回调的错误似乎都来自于_remoteJson之外的错误

这些可能是问题所在。

https://github.com/transloadit/node-sdk/blob/master/src/TransloaditClient.js#L146 https://github.com/transloadit/node-sdk/blob/master/src/TransloaditClient.js#L606 https://github.com/transloadit/node-sdk/blob/master/src/TransloaditClient.js#L642

表单数据库也可能是错误的来源

为了进一步测试这一点,我们需要尝试使用他正在使用的库,确保它的输出是正确的,然后调试node-sdk以查看逻辑故障在哪里,或者逻辑故障是否在API端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62869578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档