12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace App\Http\Controllers\Admin\Base;
- use App\Http\Controllers\Controller;
- use App\Http\Resources\ResourceResource;
- use App\Repositories\Enums\ResponseCodeEnum;
- use App\Repositories\Models\Base\Resource;
- use App\Repositories\Models\Log;
- use App\Services\ResourceService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Storage;
- use Jiannei\Response\Laravel\Support\Facades\Response;
- /**
- * Class ResourcesController.
- *
- * @package namespace App\Http\Controllers;
- */
- class ResourceController extends Controller
- {
- private $resourceService;
- public function __construct(ResourceService $resourceService)
- {
- $this->resourceService = $resourceService;
- }
- public function upload(Request $request)
- {
- $this->validate($request, [
- 'file' => 'file',
- 'type' => 'required',
- 'file_type' => 'required|in:img,file'
- ]);
- $re = $this->resourceService->handleUpload($request);
- if ($re === false) {
- return Response::fail(T('Error uploading file.'), ResponseCodeEnum::SERVICE_UPLOAD_ERROR);
- }
- return Response::success([
- 'id' => $re->id,
- 'path' => $re->path,
- 'url' => $re->url,
- ]);
- }
- /**
- * 导出
- * Author: Mead
- */
- public function download(Request $request)
- {
- $this->validate($request, ['id' => 'required|integer']);
- $resource = Resource::query()->first($request->get('id'));
- return response()->download(Storage::disk($resource->disk)->url($resource->path));
- }
- }
|