formatDate()); $disk = Storage::disk('public'); if (! $disk->exists($path)) { $disk->makeDirectory($path); $disk->makeDirectory($path.'/thumb'); } return $path; } public function store(Request $request) { $uploaded = $request->file('file'); if (! $uploaded || ! $uploaded->isValid()) { return response()->json(['message' => 'فایل بارگذاری نشد یا خالی است'], 422); } if ($uploaded->getSize() < 1) { return response()->json(['message' => 'فایل خالی است'], 422); } $path = $this->createDir(); $data = $request->all(); $data['original_name'] = $uploaded->getClientOriginalName(); $data['ext'] = $uploaded->getClientOriginalExtension() ?: $uploaded->extension() ?: 'jpg'; if (! isset($data['title']) || is_null($data['title'])) { $data['title'] = $data['original_name']; } $file_name_src = md5(time().$data['original_name']); $file_name = $file_name_src.'.'.$data['ext']; $data['has_thumb'] = false; $data['size'] = $uploaded->getSize(); $stored = Storage::disk('public')->putFileAs($path, $uploaded, $file_name); if (! $stored || ! Storage::disk('public')->exists($stored)) { return response()->json(['message' => 'ذخیره فایل روی سرور ناموفق بود'], 500); } $data['src'] = 'storage/'.$stored; $data['user_id'] = auth()->id(); $data['sts'] = 1; $relativePath = $data['src']; $file_create = File::create($data); $fullSrc = File::publicUrl($relativePath); $payload = $file_create->fresh()->toArray(); $payload['path'] = $relativePath; $payload['full_src'] = $fullSrc; $payload['src'] = $fullSrc; return response()->json($payload); } }