Php 通过RESTAPI和laravel一起使用其他表单值上载图像
我正在做一个需要上传图片的项目,在上传的同时我想把一些值发送到API。我目前正在运行一个测试与邮递员,图像上传工作正常,但我发现它很难抓取的价值观一起发送Php 通过RESTAPI和laravel一起使用其他表单值上载图像,php,laravel,Php,Laravel,我正在做一个需要上传图片的项目,在上传的同时我想把一些值发送到API。我目前正在运行一个测试与邮递员,图像上传工作正常,但我发现它很难抓取的价值观一起发送 当您试图访问workDays元素时,您试图访问的是JSON字符串,而不是JSON对象 您可以通过从Request对象获取有效负载,然后对字符串进行json\u解码来解决这个问题 $payload=json\u decode($request->payload,true,512,json\u THROW\u ON\u ERROR); 如果($
当您试图访问
workDays
元素时,您试图访问的是JSON字符串,而不是JSON对象
您可以通过从Request
对象获取有效负载,然后对字符串进行json\u解码来解决这个问题
$payload=json\u decode($request->payload,true,512,json\u THROW\u ON\u ERROR);
如果($payload['workDays'])){
foreach($payload['workDays']作为$day){
$data[]=[
“profile_id”=>$profileId,
'name'=>$day['name'],
'vdate'=>$payload['tDateTime'],
];
}
}
public function newUpload($profileId, Request $request)
{
try {
if (!$request->hasFile('image')) {
return response()->json(['upload_file_not_found'], 400);
}
$file = $request->file('image');
if (!$file->isValid()) {
return response()->json(['invalid_file_upload'], 400);
}
$path = public_path() . '/uploads';
$defaultDateTime = strtotime(date('Y-m-d H:i:s'));
$rename = "_test" . rand(0, 1000000000) . $profileId . $defaultDateTime . '.' .
$file->getClientOriginalExtension();
$file->move($path, $rename);
$workDays = $request->payload->get('workDays');
if ($workDays) {
foreach ($workDays as $day) {
$data[] = [
'profile_id' => $profileId,
'name' => $day['name'],
'vdate' => $request->payload->tDateTime,
];
}
DB::table('workDays')->insert($data);
}
} catch (Exception $e) {
dd($e->getMessage());
}
}