You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
718 B

5 days ago
<?php
namespace App\Http\Controllers\Miniapp;
use App\Http\Controllers\Controller;
use App\Models\CourseMedia;
use App\Support\ApiResponse;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class UploadController extends Controller
{
use ApiResponse;
public function avatar(Request $request): JsonResponse
{
$data = $request->validate([
'file' => ['required', 'file', 'image', 'max:2048'],
]);
$user = $request->user();
$uploaded = $data['file'];
$path = $uploaded->store("miniapp/avatars/{$user->id}", 'public');
$url = CourseMedia::publicAssetUrl($path) ?? '';
return $this->ok(['url' => $url], '已上传');
}
}