Created
January 13, 2020 15:53
-
-
Save paulodutra/242123b0120d532c5b92a2897cef64c9 to your computer and use it in GitHub Desktop.
Método de upload de arquivos em formato base64 utilizando o framework laravel 6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Http\Controllers; | |
use Illuminate\Http\Request; | |
use Illuminate\Support\Facades\Storage; | |
class UploadController extends Controller | |
{ | |
/** | |
* sendFile: Método responsável por enviar o arquivo no formato base64 | |
*/ | |
public function sendFile(Request $request) | |
{ | |
if($request->has('file') && strpos($request->file, ';base64')){ | |
$base64 = $request->file; | |
//obtem a extensão | |
$extension = explode('/', $base64); | |
$extension = explode(';', $extension[1]); | |
$extension = '.'.$extension[0]; | |
//gera o nome | |
$name = time().$extension; | |
//obtem o arquivo | |
$separatorFile = explode(',', $base64); | |
$file = $separatorFile[1]; | |
$path = 'public/base64-files/'; | |
//envia o arquivo | |
Storage::put($path.$name, base64_decode($file)); | |
return response() | |
->json(['content' => ['file' => $name], 'Message' => 'Arquivo enviado com sucesso'], 201); | |
}else{ | |
return response() | |
->json(['message' => 'Envie o atributo file no formato base64'], 422); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment