IconController.php 908 B

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