腾讯云COS对象存储图片文件API的详细步骤过程

您所在的位置:网站首页 腾讯微云的文件名叫啥 腾讯云COS对象存储图片文件API的详细步骤过程

腾讯云COS对象存储图片文件API的详细步骤过程

2023-08-17 06:31| 来源: 网络整理| 查看: 265

腾讯COS对象存储 Cos桶 首先创建一个桶。相当于你存储图片的容器。我这里是存储图片。

桶

我选则是共有读,私有写。因为不选择共有读的话,以后别的地方没办法访问 注意: 公有读权限可以通过匿名身份直接读取您存储桶中的数据,存在一定的安全风险,为确保您的数据安全,不推荐此配置,建议您选择私有。 建议您使用防盗链功能,可有效防止流量盗刷现象。 但是这个也有风险,别人可以不通过你的后台,使用地址直接访问图片。如果选择私有的话,需要后台才能读写图片。但是每次读取图片都需要通过后台,增加了后台服务器的压力。 javaCOS存储 桶创建好了之后可以进入桶管理。手动上传图片。 在这里插入图片描述 每张图片存储到桶里之后,会有一个自己的外网地址。加上图片的路径,和图片的名称。形成一个唯一地址,访问图片。外网地址是不变的。图片的路径和图片名称,是存储时自己指定的 。

然后就是包了。

com.qcloud cos_api 5.6.45

这里是我使用的,大家可以找别的版本,或是自己语言的。 腾讯API

腾讯cos存储api 这里选择上传的方式,然后填写参数。右边会生成代码。但是这里的介绍感觉没那么详细。可能因为腾讯的业务太多了。所以api文档也特别庞大。 需要好几处结合起来看。我选择的是基本上传,不超过5G的。因为我只存储头像。所以不会太大

// 指定要上传的文件 File localFile = new File(localFilePath); // 指定要上传到的存储桶 String bucketName = "examplebucket-1250000000"; // 指定要上传到 COS 上对象键 String key = "exampleobject"; PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile); PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);

这是他生成的原始代码 **bucketName ** 存储桶 的名称。

// 指定要上传到 COS 上对象键 String key = “exampleobject”; COS 上对象键,这个个感觉说的不太清楚,就是你存储到桶里面的文件的名称, 和路径。 他会解析 String key = “111/222/444/99838.png”; 可以这样写。会吧1,2,4,解析为文件夹。 加上后面的时间戳文件名,形成一个访问路径。服务器在存储时。可以直接用外网地址,加上自己定义的文件名。形成一个路径存储到数据库。访问的时候直接由页面访问到腾讯,查找图片。减轻服务器压力。

package com.tanhua.sso; import com.qcloud.cos.COSClient; import com.qcloud.cos.ClientConfig; import com.qcloud.cos.auth.BasicCOSCredentials; import com.qcloud.cos.auth.COSCredentials; import com.qcloud.cos.exception.CosClientException; import com.qcloud.cos.http.HttpProtocol; import com.qcloud.cos.model.PutObjectRequest; import com.qcloud.cos.model.PutObjectResult; import com.qcloud.cos.region.Region; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.io.File; @SpringBootTest @RunWith(SpringRunner.class) public class CosMain { @Autowired COSClient cosClient; @Test public void sendCos() { try { // 指定要上传的文件 File localFile = new File("C:\\Users\\silence\\Desktop\\9527.png"); // 指定要上传到的存储桶 String bucketName = "tanhua-1255913638"; // 指定要上传到 COS 上对象键 String key = "111/222/444/99838.png"; PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile); cosClient.putObject(putObjectRequest); } catch (CosClientException e) { e.printStackTrace(); } } }

这是我copy 过来后自己测试的代码。 这里又有点小坑。cosClient ,他的代码里面直接用了。但是又没说怎么来的。可能接触这方面比较少的话。不太友好。后来我查阅了别的文档。他的文档太多了。我忘了在哪看的了。就不放地址了。但是他有一个地方说了怎么创建这个cosClient。 cosClient

package com.tanhua.sso.config; import com.qcloud.cos.COSClient; import com.qcloud.cos.ClientConfig; import com.qcloud.cos.auth.BasicCOSCredentials; import com.qcloud.cos.auth.COSCredentials; import com.qcloud.cos.http.HttpProtocol; import com.qcloud.cos.region.Region; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class Coslient { // 1 初始化用户身份信息(secretId, secretKey)。 // SECRETID和SECRETKEY请登录访问管理控制台进行查看和管理 @Value("${tengxun.sms.secretId}") private String secretId; @Value("${tengxun.sms.secretKey}") private String secretKey; @Bean public COSClient getCosClient() { COSCredentials cred = new BasicCOSCredentials(secretId, secretKey); // 2 设置 bucket 的地域, COS 地域的简称请参照 https://cloud.tencent.com/document/product/436/6224 // clientConfig 中包含了设置 region, https(默认 http), 超时, 代理等 set 方法, 使用可参见源码或者常见问题 Java SDK 部分。 Region region = new Region("ap-nanjing"); ClientConfig clientConfig = new ClientConfig(region); // 这里建议设置使用 https 协议 clientConfig.setHttpProtocol(HttpProtocol.https); // 3 生成 cos 客户端。 return new COSClient(cred, clientConfig); } }

他的文档原始代码差不多也就这样,copy过来。修改一下。 主要时加上自己的keyid 和key。我用的时springboot 。spring扫描的时候。 因为我加了@Configuration 注解。会被spring 扫描到。 我在方法上加了@Bean 注解。这是spirng整合第三方类的表示。返回第三方对象。sipring扫描到这个方法时会将方法返回的对象。放到springIOC容器进行管理。所以后面我用到COSClient的之后直接 @Autowired COSClient cosClient; DI 依赖注入就好了。 如果没有用spirng 的,可以直接把代码cpry 过来,拼接上就可以用了。 腾讯cos上传文件图片 其实代码还是满简介的,传入流对象。他自己就可以存储了。 用他提供的外网地址加key 文件路径,文件名,可以直接访问。

在这里插入图片描述 补充说明一下这个访问域名在这。

在这里插入图片描述 域名加,存储的文件名,可以直接访问 在这里插入图片描述 这是我刚刚存储的一张图片。没有加文件路径。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3