ImageController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2020/6/4 0004
  6. * Time: 13:52
  7. */
  8. namespace App\Http\Controllers\Admin;
  9. use App\Http\Controllers\Controller;
  10. use App\Http\Models\Image;
  11. use Illuminate\Http\Request;
  12. class ImageController extends Controller
  13. {
  14. public function index(Request $request)
  15. {
  16. if (!$request->ajax()) {
  17. return view('admin.image.index',[
  18. 'siteId'=>$request->input('siteId')
  19. ]);
  20. }
  21. if ($siteId = $request->input('siteId')) {
  22. $condition[] = ['site_id', '=', $siteId];
  23. }
  24. if ($title = $request->input('title')) {
  25. $condition[] = ['title', 'like', '%' . $title . '%'];
  26. }
  27. $results = Image::query()->where($condition ?? [])->orderByDesc('id')
  28. ->paginate(12);
  29. $items = $results->items();
  30. return response()->json([
  31. 'rows' => $items,
  32. 'total' => $results->total()
  33. ]);
  34. }
  35. public function upload(Request $request)
  36. {
  37. $file = $request->file('file');
  38. if (!$file) return response()->json(['message' => '没有上传文件'], 422);
  39. $name = $file->getClientOriginalName();
  40. $fileData['file_url'] = $file->storeAs(date('Ym') . '/' . $file->getClientOriginalExtension(), $name, 'public');
  41. $fileData['file_url'] = sprintf('/storage/%s', $fileData['file_url']);
  42. $fileData['original_name'] = $name;
  43. $fileData['time'] = time();
  44. Image::query()->create([
  45. 'title' => $name,
  46. 'url' => $fileData['file_url'],
  47. 'site_id' => $request->input('siteId'),
  48. ]);
  49. return response()->json(['message' => '上传成功']);
  50. }
  51. }