无法将文件 POST 到 /upload

Mat*_*son 1 javascript typescript strapi angular

我正在尝试上传文件。我已经把它送到服务器,我可以看到它。我用来发布的代码是

postTheFileToStrapi2(file: File) {
    const formData: FormData = new FormData();
    console.log(file[0].name);
    formData.append('file', file[0]);
    this.http.post('http://localhost:1337/upload', formData)
      .subscribe((response) => console.log(response));
  }
Run Code Online (Sandbox Code Playgroud)

问题是,我收到以下错误:

{
"statusCode":400,
"error":"Bad Request",
"message":[
   {"messages":[
      {"id":"Upload.status.empty","message":"Files are empty"}
   ]}]}
Run Code Online (Sandbox Code Playgroud)

但是,查看 Chrome 中的标题,我发送的是:

在此处输入图片说明

任何指针都会受到极大的欢迎。

spe*_*exy 5

尝试更换

formData.append('file', file[0]);

formData.append('files', file[0]);

--> 复数而不是单数。据我了解,strapi api(或上传插件?)期望数据位于名为“文件”的字段中。

我挣扎了几个小时,直到我在这里读到 Pavlo Razumovskyi 的评论:

现在是新 api,请查看新文档:trapi.io/documentation/3.0.0-beta.x/plugins/... formData.append('files.MODEL_FILE_FIELD_NAME', blob, filename)

那至少为我解决了!