Laravelで画像をbase 64に変換したい。画像はフォームから取得します。私は私のコントローラーでこれを試しました:
public function newEvent(Request $request){
$parametre =$request->all();
if ($request->hasFile('image')) {
if($request->file('image')->isValid()) {
try {
$file = $request->file('image');
$image = base64_encode($file);
echo $image;
} catch (FileNotFoundException $e) {
echo "catch";
}
}
}
私はこれだけを手に入れます:
L3RtcC9waHBya0NqQlQ =
Laravelの$request->file()
は、実際のファイルの内容を返しません。 UploadedFile
- classのインスタンスを返します。
ファイルを変換できるようにするには、実際のファイルをロードする必要があります。
$image = base64_encode(file_get_contents($request->file('image')->path()));
それは私にとって次のように機能しました:
_$image = base64_encode(file_get_contents($request->file('image')));
_
この部分を削除しました->path();
$image = base64_encode(file_get_contents($request->file('image')));
私にも使えます。