Mr Robot
Mr Robot

Reputation: 897

How to decode base64 in laravel 5.3

I am working on an API for mobile application, from mobile end I'm getting the image in base64 format and inserting it in profile_image column in my database.

In my web I want to display that image, so how do I decode it:

<div class="card horizontal card-driver-details">
    <div class="card-image card-circular">
        <img src="{{ $driver->profile_image}} "> //i want to display here
    </div>
    <div class="card-stacked">
        <div class="card-content">
            <p><b>Name:</b>{{ $driver->first_name }} {{ $driver->last_name }}</p>
            <p><b>Phone:</b>{{ $driver->phone_number }}</p>
            <p><b>Address:</b>{{ $driver->addess_city_village }} {{ $driver->address_state }}</p>
        </div>
    </div>
</div>

Upvotes: 1

Views: 33864

Answers (6)

ENU ENAN
ENU ENAN

Reputation: 147

To show a base64 converted image in Laravel 10 this works for me.

<img src="data:image/png;base64,{{ $product->image }}" >

Upvotes: 0

basith
basith

Reputation: 21

All types of file can be solved by using this ,

  $image_64 = $data['photo_url']; //your base64 encoded data

  $extension = explode('/', explode(':', substr($image_64, 0, strpos($image_64, ';')))[1])[1];   // .jpg .png .pdf

  $replace = substr($image_64, 0, strpos($image_64, ',')+1); 

// find substring fro replace here eg: data:image/png;base64,

 $image = str_replace($replace, '', $image_64); 

 $image = str_replace(' ', '+', $image); 

 $imageName = Str::random(10).'.'.$extension;

 Storage::disk('public')->put($imageName, base64_decode($image));

Upvotes: 2

Arun Code
Arun Code

Reputation: 1638

Try this one.

{{ base64_decode($driver->profile_image) }}

This will decode the profile_image using base 64 and then print the results.

Upvotes: 3

Mr Robot
Mr Robot

Reputation: 897

i tried with the following code but din't work

base64_decode($driver->profile_image);

then did some browsing about this then find out now all the updated browser support data:image/jpeg/png/gif/etc

so now i am able to display the image

$driver->profile_image

Upvotes: 0

Mayank Pandeyz
Mayank Pandeyz

Reputation: 26258

Try this:

$image = base64_decode('base_64_image_string');
$fp = fopen('path_to_where_you_want_to_save_image','wb+');
fwrite($fp,$image);
fclose($fp);

Upvotes: 1

Hassaan
Hassaan

Reputation: 7672

Try

base64_decode($driver->profile_image);

Upvotes: 3

Related Questions