【问题标题】:Strapi: How to upload image and link it to Model?Strapi:如何上传图像并将其链接到模型?
【发布时间】:2019-01-22 18:59:43
【问题描述】:

假设我有一个模型Restaurant,我想上传一张图片并将其链接到模型。 从documentation 开始,这应该分两步进行:

  1. 创建新实体
  2. 上传和链接图片

目前,在我创建实体并尝试执行第 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,我缺少什么?

【问题讨论】:

    标签: javascript react-native strapi


    【解决方案1】:

    原来我需要向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中,还有一个key叫source。我没有使用它,它似乎不影响任何东西。请注意确定是否需要。

    【讨论】:

    • 嘿,听说 id data.append('refId', id); 是餐厅 id 吗?
    • 抱歉回复晚了,是的
    • 嗨,你有 curl 的例子吗?
    • 通过反复试验找到了方法:curl --location --request POST 'http://localhost:1337/model' \ --form 'data={"model_name": "Model Name"}' \ --form 'files.image=@image.png'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    • 2016-01-05
    • 2020-12-08
    • 1970-01-01
    • 2011-12-15
    • 2020-11-28
    相关资源
    最近更新 更多