laravel9使用腾讯云cos sdk上传对象无法显示
1. 运行环境
windows10
本地:
1). 当前使用的 Laravel 版本?
2). 当前使用的 php/php-fpm 版本?
PHP 版本:
2. 问题描述?
使用官方提供的sdk上传图片到桶中,无法正常显示图片.
使用laravel自带功能可以正常显示,使用官方提供的sdk就不行。
有没有大佬知道这是什么问题呢?
而且官方的sdk 设置生命周期好像也不行
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Storage;
use Qcloud\Cos\Client;
class CosController extends Controller
{
public function upload($path, $image,$name)
{
// 将图片上传到腾讯云 COS 并返回路径
$path = Storage::disk('cos')->putFileAS($path, $image,$name);
// 如果需要获取完整的访问 URL
$url = Storage::disk('cos')->url($path);
return ['code' => 200, 'data' => $url];
}
public function cos( $image,$key,$bucket=null)
{
$bucketName = env('FILESYSTEM_COS_BUCKET');
$cosClient = new Client([
'region' => env('COSV5_REGION', 'ap-shanghai'),
'credentials' => [
'appId' => env('COSV5_APP_ID'),
'secretId' => env('COSV5_SECRET_ID'),
'secretKey' => env('COSV5_SECRET_KEY'),
],
]);
//判断桶名是否存在
if(!$cosClient->doesBucketExist($bucketName))
{
$cosClient->createBucket([
'Bucket' =>$bucketName, // 格式:examplebucket-1250000000
'LocationConstraint' => env('COSV5_REGION', 'ap-shanghai'),
]);
}
$cosClient->upload($bucketName,$key,$image,array('Content-Type'=>'image/jpg'));
}
}
已解决: cloud.tencent.com/document/product...