上传图片-Strapi-React Native

时间:2018-08-26 10:53:23

标签: react-native strapi

我是React Native和Strapi的新手,我想将图片上传到API: 我的应用程序允许用户添加销售广告(标题,描述,数量,手数,价格,照片1,照片2,...)。

我可以添加带有文本字段但不包含照片的促销广告。而且我无法在Strapi的文档中找到方法(我使用MongoDB)。知道Strapi不接受FormData。目前,我以“ base64”格式获取了智能手机的图片,并将其发送到API,但无法正常工作。

Insert_Into_DataBase = () => {
console.log("insert");
console.log(this.state.image1);

this.setState(
  {
    ActivityIndicator_Loading: true
  },
  () => {
    console.log("fetch");

    fetch("http://192.168.0.102:1337/annonces", {
      method: "POST", 
      headers: {

        "Content-Type": "application/json"
      },

      body: JSON.stringify({
        titreAnnonce: this.state.titre, 
        description: this.state.description,
        qte: this.state.disponibilite,
        nbrLots: this.state.lots,
        Image1: this.state.image1
      })
    })
      .then(response => response.json())
      .then(responseJsonFromServer => {
        alert(responseJsonFromServer + "L'annonce à bien été postée");
        this.setState({ ActivityIndicator_Loading: false });
      })
      .catch(error => {
        console.error(error);
        this.setState({ ActivityIndicator_Loading: false });
      });
  }
);
   };

2 个答案:

答案 0 :(得分:2)

实际上,要将上传内容添加到条目(在您的情况下为announces),您必须首先创建条目。

然后,您将必须使用/upload路由来上传文件(一个接一个)。这里有关于param的文档,可用于设置参数以将文件链接到正确的条目https://strapi.io/documentation/guides/upload.html#usage

之后,如果您对文件格式有疑问,可以在此处https://github.com/strapi/strapi/blob/master/packages/strapi-plugin-upload/controllers/Upload.js#L34进行文件格式转换,您可能会更新id以处理base64文件。

答案 1 :(得分:0)

Strapi 现在允许我们发送表单数据以上传文件。 创建实体和上传文件可以在一个 post 请求中完成。 请参考:https://strapi.io/documentation/developer-docs/latest/development/plugins/upload.html