web-dev-qa-db-ja.com

Laravelで画像をbase 64文字列に変換します

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 =

6

Laravelの$request->file()は、実際のファイルの内容を返しません。 UploadedFile- classのインスタンスを返します。

ファイルを変換できるようにするには、実際のファイルをロードする必要があります。

$image = base64_encode(file_get_contents($request->file('image')->pat‌​h()));
11
Magnus Eriksson

それは私にとって次のように機能しました:

_$image = base64_encode(file_get_contents($request->file('image')));
_

この部分を削除しました->pat‌​h();

7
C47

$image = base64_encode(file_get_contents($request->file('image')));

私にも使えます。

0
Rick Holtman