【问题标题】:How to upload an image in strapi to the collection type fields?如何将strapi中的图像上传到集合类型字段?
【发布时间】:2020-12-08 19:14:46
【问题描述】:

我在 Strapi 中创建了一个名为 Events 的集合。

Events 具有 idEvent_imageEvent_title 等字段。

Event_image 是媒体,Event_title 是文本。

事件是通过向 Event_title 字段添加值来创建的,但在 Event_image 字段中没有上传图像。

在这里,我想使用 strapi API 为 Events 集合中的特定事件上传图片。

我使用了来自strapi的上传 API,我在其中传递参数,例如:

files:要上传的图片文件

refId:需要上传文件的事件的字段id(id)

ref:集合名称(事件)

field:需要上传图片的事件的Event_image字段(Event_image)

下面是代码:

 function uploadImage() {
       const data = new FormData();
       data.append('files', this.state.imageFile]);
       data.append('refId', 1);            
       data.append('ref', 'Events');
       data.append('field', 'Event_image');
       axios.post("http://1.0.0.0:xxxxx/upload", data)
       .then(function(response) {
          console.log(response)
       })
    }
    

以上 API 返回内部服务器错误。 如果我遗漏了一些不能让它工作的东西或者我做错了什么,请告诉我。

谢谢。

【问题讨论】:

    标签: javascript strapi


    【解决方案1】:

    我不太确定你想做什么...
    使用 Strapi,您需要先将图像作为文件上传到内容文件夹,然后将文件 URL 添加到图像字段 (Event_image)。
    如果你的图片很小,你可以将它解码为base64,然后你可以直接将它保存到数据库中。

    【讨论】:

    • 我正在尝试使用 API 调用而不是直接在 CMS 上上传图像。
    • 您不能将图像存储在strapi 数据库中(至少不能使用默认功能)。图像和其他文件应存储在磁盘上,然后将该文件的 url 添加到图像字段中。如果您使用 Heroku 或类似的服务提供商,则不能将文件存储到 heroku 的磁盘,因为它会定期被擦除干净。使用亚马逊 S3 或其他文件服务器。
    • 不正确,您可以在使用 Strapi 创建条目时上传文件:strapi.io/documentation/developer-docs/latest/development/…
    猜你喜欢
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    • 1970-01-01
    • 2012-03-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多