腾讯cos 上传php实例,腾讯cos安装,上传图片实际使用

namespace App\Http\Controllers\Common;

use Qcloud\Cos\Api;

use Illuminate\Support\Facades\Log;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use App\Model\Pictures;

/**

* 腾讯cos

*/

class CosController extends Controller

{

/**

* cos上传方法

* @param [type] $fileName [description]

* @param [type] $realPath [description]

* @return [type] [description]

*/

public function uploadImg($fileName, $realPath)

{

$cosClient = new \Qcloud\Cos\Client([

// 区域,这里的区域要写对,不然也会有错误

'region' => "ap-chongqing",

'schema' => 'http',

'credentials' => [

'appId' => env('COS_APPID'),

'secretId' => env('COS_SECRETID'),

'secretKey' => env('COS_SECRETKEY')

]

]);

try {

$result = $cosClient->putObject([

// 存储桶名字,注意没有-appid,腾讯文档是错的

'Bucket' => "ceshi", // 存储桶-appid

'Key' => $fileName, // 键名==文件名

'Body' => fopen( $realPath , 'rb' ), // 图片

'ServerSideEncryption' => 'AES256' // 加密

]);

return $result['Location'];

// 公有私密访问需要获取访问地址

// $bucket = "gzc"; //存储桶,格式:BucketName-APPID

// $key = $fileName; //对象在存储桶中的位置,即称对象键

// $signedUrl = $cosClient->getObjectUrl($bucket, $key, '+10 minutes');

// 上传成功

// return $signedUrl;

} catch (\Exception $e) {

Log::error('cos exception:'.$e->getMessage());

return false;

}

}

/**

* 上传图片

* @param Request $request [description]

* @return [type] [description]

*/

public function uploadImage( Request $request ) {

try {

if( $request->hasFile('img') ){

$file = $request->file('img'); // 接受图片

if( $file->isValid() ){

// 上传成功

$ext = $file->getClientOriginalExtension(); // 扩展名

$allow = ['jpg', 'gif', 'png', 'jpeg']; // 支持的类型

if( !in_array($ext, $allow) ){

return $this->fail( 30013 );

}

// 判断大小

$size = $file->getSize();

$size = $size/1024/1024;

if($size > 3){

return $this->fail( 30007 );

}

// 进行上传

$realPath = $file->getRealPath(); // 文件的绝对路径

$filename = date('Ymd').'/'.date('Ymdhis').'-'.mt_rand(100,999).'.'.$ext; // 定义文件名

// 腾讯 cos 存储

$url = $this->uploadImg($filename, $realPath);

if( $url == false ){

// 上传失败

return $this->fail( 30007 );

}else{

// 存储图片,注意我这里是存到了数据库,你可以自由选择存储方式

$pictures = new Pictures;

$picturesId = $pictures->store( $filename , $url );

$data = [

'key' => $filename,

'url' => $url,

'id' => $picturesId

];

return $this->success( $data );

}

}else{

return $this->fail( 30007 );

}

}

} catch (Exception $e) {

echo $e->getMessage();

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
在 C# 中上传图片腾讯云对象存储(COS)可以通过以下步骤实现: 1. 首先,你需要安装 `QCloud.Cos.Sdk` 包。可以通过 NuGet 包管理器或者在命令行中运行以下命令来安装该包: ``` Install-Package QCloud.Cos.Sdk ``` 2. 导入必要的命名空间: ```csharp using QCloud.Cos.Api; using QCloud.Cos.Api.Common; using QCloud.Cos.Api.CosApi; ``` 3. 创建腾讯云对象存储的配置信息,并初始化 COS 客户端: ```csharp string secretId = "YourSecretId"; string secretKey = "YourSecretKey"; string region = "YourRegion"; string bucketName = "YourBucketName"; CosApi cos = new CosApi(secretId, secretKey, region); ``` 确保将上述代码中的 `YourSecretId`、`YourSecretKey`、`YourRegion` 和 `YourBucketName` 替换为你自己的实际信息。 4. 使用 `cos.UploadFile` 方法上传图片: ```csharp string localFilePath = "Path/To/Your/Local/File.jpg"; string cosFilePath = "Path/To/Save/On/COS/File.jpg"; UploadFileRequest request = new UploadFileRequest(bucketName, cosFilePath, localFilePath); UploadFileResult result = cos.UploadFile(request); ``` 确保将上述代码中的 `Path/To/Your/Local/File.jpg` 替换为本地图片文件的路径,`Path/To/Save/On/COS/File.jpg` 替换为希望在 COS 上保存的路径和文件名。 5. 检查上传结果: ```csharp if (result.code == 0) { Console.WriteLine("Upload succeeded!"); } else { Console.WriteLine("Upload failed. Error message: " + result.message); } ``` 以上代码会根据上传结果打印相应的信息。 这是一个简单的示例,你可以根据自己的需求进行修改和扩展。记得在使用腾讯COS 服务时,要确保配置正确的权限和密钥,并根据腾讯COS API 的文档进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值