2017-09-13 59 views
0

我想用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)'?第一條評論對你有幫助嗎? –

回答

1

Laravel的$request->file()不返回實際的文件內容。它返回一個UploadedFile-類的實例。

你需要下載實際的文件,以便能夠將它轉換:

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