IconController.php 1.1 KB

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