uploadToken(self::$storageName); $domain = self::$uploadUrl; $fileName = md5(rand(1000, 9999) . date('YmdHis') . rand(0, 9999)); return compact('token', 'domain', 'fileName'); } /** * TODO 图片上传 名称 * @param string $filename * @return array * @throws \Exception */ public static function uploadImage($filename = 'image') { $request = app('request'); $file = $request->file($filename); $filePath = $file->getRealPath(); $ext = $file->getOriginalExtension(); $key = substr(md5($file->getRealPath()), 0, 5) . date('YmdHis') . rand(0, 9999) . '.' . $ext; $token = self::autoInfo()->uploadToken(self::$storageName); try { $uploadMgr = new UploadManager(); return $uploadMgr->putFile($token, $key, $filePath); } catch (\Exception $e) { return $e->getMessage(); } } /** * TODO 图片上传 内容 * @param $key * @param $content * @return array|string * @throws \Exception */ public static function uploadImageStream($key, $content) { $token = self::autoInfo()->uploadToken(self::$storageName, $key); try { $uploadMgr = new UploadManager(); return $uploadMgr->put($token, $key, $content); } catch (\Exception $e) { return $e->getMessage(); } } /** * TODO 图片下载链接 * @param $key uploadImage() 返回的key * @param string $type 是否设置图片大小 * @param string $imageUrl 图片访问链接 * @param int $time 图片链接最后的访问时间 * @return array */ public static function imageUrl($key, $type = '', $imageUrl = '', $time = 0) { return ['code' => 200, 'name' => $key, 'dir' => self::$uploadUrl . $key, 'thumb_path' => self::$uploadUrl . $key, 'time' => time()]; // $imageValue = !strlen(trim($type)) ? self::$uploadUrl.$key : self::$uploadUrl.$key.self::getType($type); // if($time > time() && !strlen(trim($imageUrl))) return ['code'=>100,'dir'=>$imageUrl,'thumb_path'=>$imageUrl,'time'=>$time]; // $imageUrl = self::autoInfo()->privateDownloadUrl($imageValue); // return ['code'=>200,'name'=>$key,'dir'=>$imageUrl,'thumb_path'=>$imageUrl,'time'=>bcadd(time(),3600,0)]; } /** * TODO 获取图片时转换图片大小 * @param $imageType * @return string */ public static function getType($imageType) { $type = ''; switch ($imageType) { case "8x6": $type = '?imageView2/1/w/800/h/600'; break; } return $type; } /** * TODO 删除资源 * @param $key * @param $bucket * @return mixed */ public static function delete($key) { $bucketManager = new BucketManager(self::autoInfo(), new Config()); return $bucketManager->delete(self::$storageName, $key); } }