将多幅图像从Angular上传到Laravel
我无法使用Laravel api从**angular**上传多个图像,当我尝试从Postman上传这些图像时,它可以工作,但当我从前端上传时,它失败了 我需要帮助,有什么想法吗 这是我的api函数:将多幅图像从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 = [];
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[] = [];