如何在Laravel中使用文件和数据数组发送PUT请求

我正在编写一个web应用程序,使用Laravel作为API,Angularjs作为前端。我有一个表单,使用PUT方法更新产品,其中包含一系列信息和一个文件作为产品图像。但我无法在控制器中获取输入请求,它是空的

请参阅下面的代码:

web.php(路由)

路由::组([‘prefix’=>’api’],函数()
{
路由::put(’products/{id}’,’[email protected]‘);
});

我的angularjs产品服务:

功能更新(productId、数据、onSuccess、onError){
var formData=new formData();
formData.append('imageFile',data.imageFile);
formData.append('image',data.image);
formData.append('name',data.name);
formData.append('category\u id',data.category\u id);
formData.append('price',data.price);
formData.append('discount',data.discount));
Restangular.one(“/products”,productId).withHttpConfig({transformRequest:angular.identity}).customPUT(formData,未定义,未定义,{'Content-Type':未定义})。然后(函数(响应){
成功(响应);
},功能(回应){
onError(响应);
}
);
}

我的ProductController更新功能

公共功能更新(请求$Request,$id){
//只需打印请求数据
dd($request->all());
}

这就是我在男人身上看到的

请分享你在这个问题上的经验。谢谢

您需要的只是名为_method=put的新字段的正常POST请求,然后您的代码将正常工作:

发表评论