<?php namespace App\Admin\Controllers; use App\Handlers\AilOss; use Dcat\Admin\Traits\HasUploadedFile; use Intervention\Image\Facades\Image; class UploadController{ use HasUploadedFile; /** * 删除OSS私有桶资源文件 */ public function deleteOssFile(){ $ossPath = request()->post('key') ?? ''; $aliOss = new AilOss(); $res = $aliOss->delete($ossPath); return $res ? $this->responseDeleted() : $this->responseDeleteFailed('文件删除失败'); } /** * 删除OSS公有桶资源文件 */ public function deletePublicOssFile(){ $ossPath = request()->post('key') ?? ''; $aliOss = new AilOss(); $res = $aliOss->delete($ossPath,'OSS_PUBLIC_BUCKET'); return $res ? $this->responseDeleted() : $this->responseDeleteFailed('文件删除失败'); } /** * 上传用户头像 */ public function uploadUserAvatar() { $aliOss = new AilOss(); // 获取上传的文件 $file = $this->file();; //获取文件扩展名 $file = $this->file();; Image::make($file->getRealPath()) ->resize(640, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); })->encode('jpg', 90); $fileName = md5(uniqid()) . '.jpg'; $date = date('Y_m_d'); $ossFilePath = 'userAvatar/'.$date.'/'.$fileName; //获取文件的绝对路径 $path = $file->getRealPath(); $res = $aliOss->upload($ossFilePath, $path,'OSS_PUBLIC_BUCKET'); return $res ? $this->responseUploaded(env('OSS_PUBLIC_IMAGE_URL').$ossFilePath,'') : $this->responseErrorMessage('文件上传失败'); } /** * 上传轮播图 */ public function uploadCarousel() { $aliOss = new AilOss(); // 获取上传的文件 $file = $this->file();; Image::make($file->getRealPath()) ->resize(640, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); })->encode('jpg', 90); $fileName = md5(uniqid()) . '.jpg'; $date = date('Y_m_d'); $ossFilePath = 'Carousel/'.$date.'/'.$fileName; //获取文件的绝对路径 $path = $file->getRealPath(); $res = $aliOss->upload($ossFilePath, $path,'OSS_PUBLIC_BUCKET'); return $res ? $this->responseUploaded(env('OSS_PUBLIC_IMAGE_URL').$ossFilePath,'') : $this->responseErrorMessage('文件上传失败'); } /** * 上传资源库图片 */ public function uploadResourceImg() { $aliOss = new AilOss(); // 获取上传的文件 $file = $this->file();; Image::make($file->getRealPath()) ->resize(640, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); })->encode('jpg', 90); $fileName = md5(uniqid()) . '.jpg'; $date = date('Y_m_d'); $ossFilePath = 'ResourceImg/'.$date.'/'.$fileName; //获取文件的绝对路径 $path = $file->getRealPath(); $res = $aliOss->upload($ossFilePath, $path,'OSS_PUBLIC_BUCKET'); return $res ? $this->responseUploaded(env('OSS_PUBLIC_IMAGE_URL').$ossFilePath,'') : $this->responseErrorMessage('文件上传失败'); } //上传资源文件 public function uploadResourceFile() { $aliOss = new AilOss(); // 获取上传的文件 $file = $this->file();; //获取文件扩展名 $ext = $file->getClientOriginalExtension(); $fileName = uniqid().'.'.$ext; $date = date('Y_m_d'); $ossFilePath = 'ResourceFile/'.$date.'/'.$fileName; //获取文件的绝对路径 $path = $file->getRealPath(); $res = $aliOss->upload($ossFilePath, $path,'OSS_PUBLIC_BUCKET'); return $res ? $this->responseUploaded(env('OSS_PUBLIC_IMAGE_URL').$ossFilePath,'') : $this->responseErrorMessage('文件上传失败'); } }