RapPhp 对文件存储做了接口实现,可以用一套代码在不同存储方式上进行切换 控制器 * * * * * 可以在控制器中注入 File 对象 ~~~ public function upload(File $file,$type='admin'){ $url=Storage::getStorage()->upload($file,$type); //如果中途换文件驱动类型可以通过 type 字段控制 return ['url'=>Storage::getStorage()->getUrl($url)]; } ~~~ Storage | 方法 | 简介| | --- | --- | | upload | 上传文件 | | getUrl | 获取文件的可访问路径 | | getDomain | 获取文件存储的 domain | | getPicUrl | 获取图片地址 | | delete | 删除文件按 | ~~~ //返回一个name 数据存应该是 这个 name $name=Storage::getStorage()->upload($file,$type); //获取可以访问的路径 返回的就是 http://xxxx/xxxx/xxx.jpg $url=Storage::getStorage()->getUrl($name); //删除文件 Storage::getStorage()->delete($name); ~~~ 获取图片地址 ~~~ /** * 获取图片可访问地址 * 如果是视频请返回视频的封面图片 * @param string $name 文件name * @param int $width 宽 * @param int $height 高 * @param bool $water 是否水印 * @param int $crop 裁剪方法 * @param int $blur 模糊程度 * @return string */ public function getPicUrl($name,$width=0,$height=0,$water=false,$crop=self::resize_rect_in,$blur=-1); ~~~ 其中 crop 建议大家自己测试下各个效果 ~~~ const resize_rect_out= 1; //常量,标识缩略图等比例缩放类型 const resize_rect_in=2; //常量,标识缩略图缩放后填充类型 const resize_fix_w=3; //固定宽 const resize_fix_h=4; //固定高 const resize_fix=6; //常量,标识缩略图固定尺寸缩放类型 ~~~ 可以参照 https://help.aliyun.com/document_detail/44688.html?spm=a2c4g.11186623.6.971.7QnIWD 本地存储部分无效 blur 模糊 1-50 本地存储无效