IconController.php 974 B

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