IconController.php 959 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Api\v1\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Storage;
  5. use App\Http\Controllers\Controller;
  6. class IconController extends Controller
  7. {
  8. /**
  9. * Handle uploaded icon image
  10. *
  11. * @param \Illuminate\Http\Request $request
  12. * @return \Illuminate\Http\JsonResponse
  13. */
  14. public function upload(Request $request)
  15. {
  16. $this->validate($request, [
  17. 'icon' => 'required|image',
  18. ]);
  19. $path = $request->file('icon')->store('public/icons');
  20. $response['filename'] = pathinfo($path)['basename'];
  21. return response()->json($response, 201);
  22. }
  23. /**
  24. * delete an icon
  25. *
  26. * @param \Illuminate\Http\Request $request
  27. * @return \Illuminate\Http\JsonResponse
  28. */
  29. public function delete($icon)
  30. {
  31. Storage::delete('public/icons/' . $icon);
  32. return response()->json(null, 204);
  33. }
  34. }