gpt4 book ai didi

laravel - 如何在 Laravel 中发送带有文件和数据数组的 PUT 请求

转载 作者:行者123 更新时间:2023-12-04 01:52:23 25 4
gpt4 key购买 nike

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

请看下面的代码:

web.php ( 路线 )

Route::group(['prefix' => 'api'], function()
{
Route::put('products/{id}', 'ProductController@update');
});

我的 angularjs 产品服务:
function update(productId, data, onSuccess, onError){
var formData = new FormData();
formData.append('imageFile', data.imageFile);
formData.append('image', data.image);
formData.append('name', data.name);
formData.append('category_id', data.category_id);
formData.append('price', data.price);
formData.append('discount', data.discount);
Restangular.one("/products", productId).withHttpConfig({transformRequest: angular.identity}).customPUT(formData, undefined, undefined, {'Content-Type': undefined}).then(function(response) {

onSuccess(response);

}, function(response){

onError(response);

}
);
}

我的 ProductController 更新功能
public function update(Request $request, $id) {
// Just print the request data
dd($request->all());
}

这是我在 Chrome 检查员中看到的
Put header Sended data
Result was empty

请分享您在此问题上的经验。谢谢。

最佳答案

您需要的是仅带有名为 _method=put 的新字段的普通 POST 请求,那么您的代码将正常工作:

enter image description here

关于laravel - 如何在 Laravel 中发送带有文件和数据数组的 PUT 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39942670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com