2017-09-13 2 views
0

Ich möchte ein Bild in Base 64 mit Laravel konvertieren. Ich bekomme das Bild von einem Formular. Ich habe versucht, dies in meinem Controller:Konvertiere Bild zu Base 64 String mit 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"; 

      } 
     } 
    } 

ich dies nur erhalten:

L3RtcC9waHBya0NqQlQ =

+0

'$ request-> Datei()' nicht den tatsächlichen Dateiinhalt zurück, sondern eine Instanz von 'UploadedFile'. Sie müssen die tatsächliche Datei laden, um sie zu konvertieren. Versuchen Sie: '$ image = base64_encode (file_get_contents ($ request-> file ('image') -> pfad()));' –

+0

bitte um die inverse operation? base64 to image –

+0

'base64_decode ($ bild)'? Hat dir der erste Kommentar geholfen? –

Antwort

1

Laravel des $request->file() nicht den tatsächlichen Dateiinhalt zurück. Es gibt eine Instanz der UploadedFile-Klasse zurück.

Sie benötigen die aktuelle Datei zu laden, um es zu konvertieren:

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