Strapi:如何上传图片并将其 link 上传到模型?

Strapi: How to upload image and link it to Model?

假设我有一个模型 Restaurant,我想上传一张图片 link 到模型。 从 documentation 这应该分两步进行:

  1. 创建新实体
  2. 上传并link图片

目前,在我创建实体并尝试执行第 2 步后,它失败了。 注:图片取自React-Native image picker

这是我正在做的事情:

      const data = new FormData();
      data.append('files', image.uri);
      data.append('refId', id);
      data.append('ref', 'Restaurants');
      data.append('field', 'Logo');

我看到的是图片没有上传。此外,从 Strapi 端调试,我看到所有这些数据的请求为 fields.

我正在使用文档中提到的 FormData,我缺少什么?

原来我需要向 files 键添加一些额外的信息,以便 FormData 将其识别为文件并且 Strapi 可以处理文件上传。 这是有效的方法:

      const data = new FormData();
      data.append('files', {
        uri: logo.uri,
        name: `test.jpg`,
        type: 'multipart/form-data'
      });
      data.append('refId', id);
      data.append('ref', 'Restaurants');
      data.append('field', 'Logo');

真正重要的是type: 'multipart/form-data

再说一下,在documentation中,还有一个键叫source。我没有使用它,它似乎不影响任何东西。请注意是否需要。