| 1234567891011121314151617181920212223242526 |
- <?php
- namespace App\Http\Controllers\agent;
- use App\Constants\Util;
- use App\Http\Controllers\AgentApiController;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Storage;
- /** 代理后台上传图片(充值凭证、人工提现收款码等),存储方式和返回格式同总后台 /admin/upload/uploadFile。 */
- class UploadController extends AgentApiController
- {
- public function image(Request $request)
- {
- return $this->execute(function () use ($request) {
- $request->validate(['image' => ['required', 'image', 'mimes:jpg,jpeg,png,webp', 'max:10240']]);
- $image = $request->file('image');
- // 扩展名按文件内容判断,不信任客户端文件名
- $name = md5_file($image->getRealPath()) . '.' . ($image->extension() ?: 'webp');
- $path = Storage::disk('public')->exists('images/' . $name)
- ? 'images/' . $name
- : $image->storeAs('images', $name, 'public');
- return ['path' => Util::ensureUrl(Storage::url($path))];
- });
- }
- }
|