Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save paulodutra/242123b0120d532c5b92a2897cef64c9 to your computer and use it in GitHub Desktop.
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
<?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