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

时间:2017-09-13 21:18:34

标签: php laravel base64 encode

我想用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 =

3 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:3)

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

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

我删除了这一部分->pat‌​h();

答案 2 :(得分:-1)

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

也可以为我工作。