使用Laravel将图像转换为64位字符串

Pon*_*bao 5 php base64 encode laravel

我想使用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";

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我只有这个:

L3RtcC9waHBya0NqQlQ =

Mag*_*son 7

Laravel $request->file()不会返回实际的文件内容。它返回UploadedFile-class 的实例。

您需要加载实际文件才能进行转换:

$image = base64_encode(file_get_contents($request->file('image')->pat??h()));
Run Code Online (Sandbox Code Playgroud)


C47*_*C47 6

它通过以下方式为我工作:

$image = base64_encode(file_get_contents($request->file('image')));
Run Code Online (Sandbox Code Playgroud)

我省去了这部分 ->pat??h();