getMimeType(), $type_arr)) return false; $size = $file->getSize(); if ($size > 10 * 1024 * 1000) return false; // dd($file->getClientOriginalName()); $path = Request()->path ? Request()->path : date('Y') . date('m') . "/" . date('d'); $object = $path . "/" . $file->getClientOriginalName(); $file_url = 'https://' . config('alioss.domain') . '/' . $object; $access_key = config('alioss.id'); $access_secret = config('alioss.secret'); $endpoint = config('alioss.endpoint'); $ossClient = new OssClient($access_key, $access_secret, $endpoint); $ossClient->uploadFile(config('alioss.bucket'), $object, $file->getPathname()); return $file_url; } catch (OssException $e) { throw new \Exception($e->getMessage()); } } //文件地址上传 public function uploadFile($file){ $access_key = config('alioss.id'); $access_secret = config('alioss.secret'); $endpoint = config('alioss.endpoint'); $ossClient = new OssClient($access_key, $access_secret, $endpoint); //生成file $object = date('Y').date('m')."/".date('d')."/".basename($file); $url = 'https://'.config('alioss.domain').'/'.$object; try { // $result = $ossClient->putObject(config('alioss.buckets.picture'), $object, $file); $result = $ossClient->uploadFile(config('alioss.bucket'), $object, $file); } catch(Exception $e) { // return $this->failure('oss_put_failure', $e->getMessage()); } return $url; } public function getOssDir($dir) { $access_key = config('alioss.id'); $access_secret = config('alioss.secret'); $endpoint = config('alioss.endpoint'); $bucket = config('alioss.bucket'); $ossClient = new OssClient($access_key, $access_secret, $endpoint); $options = array( 'max-keys' => 1000, // 最大返回的object数量,默认为100,最大为1000 'delimiter' => '/', // 分隔符,用来对返回的keys进行分组,如果有Prefix,则将Prefix后面的第一个分隔符及其后面的内容作为Key的前缀进行分组,如果没有Prefix,则从Bucket根目录开始 "prefix"=>$dir, ); $listObjectInfo = $ossClient->listObjects($bucket, $options); if ($listObjectInfo->getPrefixList() && !empty($listObjectInfo->getPrefixList())) { $arr = []; foreach ($listObjectInfo->getPrefixList() as $prefix) { $arr[] = $prefix->getPrefix(); } return $arr; } else { return []; } } public function getOssFile($dir) { $access_key = config('alioss.id'); $access_secret = config('alioss.secret'); $endpoint = config('alioss.endpoint'); $bucket = config('alioss.bucket'); $ossClient = new OssClient($access_key, $access_secret, $endpoint); $options = array( 'max-keys' => 1000, // 最大返回的object数量,默认为100,最大为1000 'delimiter' => '/', // 分隔符,用来对返回的keys进行分组,如果有Prefix,则将Prefix后面的第一个分隔符及其后面的内容作为Key的前缀进行分组,如果没有Prefix,则从Bucket根目录开始 "prefix"=>$dir, ); $listObjectInfo = $ossClient->listObjects($bucket, $options); if ($listObjectInfo->getObjectList() && !empty($listObjectInfo->getObjectList())) { $arr = []; foreach ($listObjectInfo->getObjectList() as $object) { if ($object->getKey() == $dir) continue; $arr[] = $object->getKey(); } return $arr; } else { return []; } } }