我是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 });
});
}
);
};
答案 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