12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace App\Services;
- use App\Log;
- use App\Support\PhpQrcode;
- use Illuminate\Support\Facades\Storage;
- use App\Services\OssService as oss;
- use Ramsey\Uuid\Uuid;
- class UploadService
- {
- /*
- * 统一上传至OSS(图片类-base64)
- * */
- public static function upload($dataUri)
- {
- $fileUrl = '';
- try {
- preg_match('/^(data:\s*image\/(\w+);base64,)/', $dataUri, $res);
- $dataUri = base64_decode(str_replace($res[1],'', $dataUri));
- $ext = $res[2]; // 扩展名
- $fileName = strtoupper(Uuid::uuid4()->toString()) . "." . $ext;
- // 使用uploads存储目录
- $result = Storage::disk('uploads')->put($fileName, $dataUri);
- if($result) {
- $oss = new oss();
- $file = $oss->upload($ext, '../storage/uploads/'.$fileName, 'image/'.$ext.'/'.date("Y-m-d"));
- $fileUrl=$file['oss-request-url'];
- @unlink('../storage/uploads/'.$fileName);
- }
- }
- catch (\Exception $e) {
- Log::logError('文件上传失败,错误信息:'.$e->getMessage(), [], 'UploadService');
- }
- return $fileUrl;
- }
- public static function uploadQrcode($url)
- {
- $fileUrl = '';
- try {
- $ext = 'png'; // 扩展名
- $fileName = strtoupper(Uuid::uuid4()->toString()) . "." . $ext;
- $filePath = '../storage/uploads/' . $fileName;
- PhpQrcode::png($url, $filePath);
- // 使用uploads存储目录
- $oss = new oss();
- $file = $oss->upload($ext, $filePath, 'image/qrcode/'.date("Y-m-d"));
- $fileUrl=$file['oss-request-url'];
- @unlink($filePath);
- }
- catch (\Exception $e) {
- Log::logError('文件上传失败,错误信息:'.$e->getMessage(), [], 'UploadService');
- }
- return $fileUrl;
- }
- }
|