将多幅图像从Angular上传到Laravel

将多幅图像从Angular上传到Laravel,angular,laravel,api,angular11,Angular,Laravel,Api,Angular11,我无法使用Laravel api从**angular**上传多个图像,当我尝试从Postman上传这些图像时,它可以工作,但当我从前端上传时,它失败了 我需要帮助,有什么想法吗 这是我的api函数: public function storeImages(Request $request) { if($request->hasFile('images')) { $data = [];

我无法使用Laravel api从**angular**上传多个图像,当我尝试从Postman上传这些图像时,它可以工作,但当我从前端上传时,它失败了

我需要帮助,有什么想法吗

这是我的api函数:

public function storeImages(Request $request) 
{           
    if($request->hasFile('images')) {
        $data = [];
                    
        foreach($request->file('images') as $image)
        {
            $Imagename = $image->getClientOriginalName();
            $image->move(public_path('/images'), $Imagename);   
            $data[] = $Imagename;                            
        }
         
        $file = new ImageAnnonce($request->input()) ;
        $file->annonceId = $request->annonceId;
        $file->image_name = json_encode($data);
        $file->save();

        return response()->json($data); 
    }
    else {
        return response()->json(['message' => 'failed']);  
    }
} 
这是html

<form (ngSubmit)="saveMultipleImage()">
  <input
    class="form-control"
    type="file"
    id="images"
    name="images[]"
    (change)="onSelectFile($event)"
    multiple
  />
  <button type="submit" class="btn btn-primary float-right" id="publier-btn">
    submite
  </button>
</form>
                    

您可以尝试删除标题。append('Content-Type','multipart/formdata');从你的头上?另外,您的控制台日志是否提供了正确的日志

最后,docs变量的数据类型是什么?尝试将其设置为文件类型

docs: File[] = [];

仍然无法工作:/n您可以共享发出此请求的邮递员的屏幕截图吗?我想看看邮递员寄来的你们的请求的正文类似这样的东西-当然是的,很抱歉延迟了这是我删除条件时出现的错误,如果(if($request->hasFile('images'))-->error:message:“foreach()参数必须是array类型| object,null given”,在Angular中,您是在附加图像的名称,而不是图像。检查这个答案上的角度代码-并让我知道它是否有效。
      docs:any;
      length:any;

      onSelectFile(event)
      { 
        this.docs = <File>event.target.files;
        this.length = <File>event.target.files.length;
      }
{message: "failed"}
docs: File[] = [];