将图像转换为base 64与Laravel的字符串

问题描述:

我想用Laravel将图像转换为base 64。我从表单中获取图像。 我在我的控制器试过这样:将图像转换为base 64与Laravel的字符串

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 =

+0

'$请求 - >文件()'不会返回实际的文件内容,但UploadedFile'的'一个实例。您需要加载实际的文件进行转换。尝试:'$ image = base64_encode(file_get_contents($ request-> file('image') - > path()));' –

+0

请做出反操作? base64到image –

+0

'base64_decode($ image)'?第一条评论对你有帮助吗? –

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

你需要下载实际的文件,以便能够将它转换:

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