複数の画像をアップロードしてデータベースに保存したいのですが、次のようなエラーが発生しました:
file_get_contents() expects parameter 1 to be a valid path, array given
これは私のコントローラーです:
public function fileMultiple(Request $request) {
$this->validate($request, [
'filename.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'
]);
if($request->hasfile('filename'))
{
foreach($request->file('filename') as $image)
{
$name=$image->getClientOriginalName();
$image_encod = base64_encode(file_get_contents($request->file('filename')));
$destinationPath = public_path('/images');
$image->move($destinationPath, $name);
$data = new Image();
$data->image_name = $image_encod;
$data->save();
}
}
return back()->with('success', 'Your images has been successfully');
}
それを修正する方法、画像はbase64を使用してエンコードする必要があります
問題は、配列値を送信していることです。
次のコード:
$image_encod = base64_encode(file_get_contents($request->file('filename')));
次のように変更する必要があります。
$image_encod = base64_encode(file_get_contents($image));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加