28 lines
776 B
PHP
28 lines
776 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
/**
|
|
* 通用图片上传:登录用户可用(文章正文插图、封面图)。
|
|
* 存入 storage/app/public/uploads/{Y}/{m}/,经已建立的 storage:link 暴露为 /storage/uploads/...
|
|
*/
|
|
class UploadController extends Controller
|
|
{
|
|
public function store(Request $request)
|
|
{
|
|
$data = $request->validate([
|
|
'file' => ['required', 'file', 'image', 'mimes:jpg,jpeg,png,gif,webp', 'max:5120'],
|
|
]);
|
|
|
|
$path = $request->file('file')->store('uploads/' . date('Y/m'), 'public');
|
|
|
|
return response()->json([
|
|
'url' => Storage::disk('public')->url($path),
|
|
'path' => $path,
|
|
]);
|
|
}
|
|
}
|