详情页标题前

腾讯云对象存储图片持久化处理

详情页1

简介

本文示例展示了如何在上传图片时自动实现图片处理。图片上传完成后,对象存储(Cloud Object Storage,COS)会存储原始图片和已处理过的图片。后续用户可以通过普通的下载请求获取处理结果。

上传时图片持久化处理

示例代码

  // bucket名需包含appid// api 请参考 https://cloud.tencent.com/document/product/436/54050String bucketName = "examplebucket-1250000000";
String key = "test.jpg";File localFile = new File("E://test.jpg");PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile);PicOperations picOperations = new PicOperations();picOperations.setIsPicInfo(1);// 添加图片处理规则List ruleList = new LinkedList();PicOperations.Rule rule1 = new PicOperations.Rule();rule1.setBucket(bucketName);rule1.setFileId("test-1.jpg");rule1.setRule("imageMogr2/rotate/90");ruleList.add(rule1);PicOperations.Rule rule2 = new PicOperations.Rule();rule2.setBucket(bucketName);rule2.setFileId("test-2.jpg");rule2.setRule("imageMogr2/rotate/180");ruleList.add(rule2);picOperations.setRules(ruleList);putObjectRequest.setPicOperations(picOperations);try { PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest); CIUploadResult ciUploadResult = putObjectResult.getCiUploadResult(); System.out.println(putObjectResult.getRequestId()); System.out.println(ciUploadResult.getOriginalInfo().getEtag()); for(CIObject ciObject:ciUploadResult.getProcessResults().getObjectList()) { System.out.println(ciObject.getLocation()); System.out.println(ciObject.getEtag()); }} catch (CosServiceException e) { e.printStackTrace();} catch (CosClientException e) { e.printStackTrace();}

参数说明

PicOperations 类用于记录图像操作,其主要成员说明如下:

成员名称 描述 类型
isPicInfo 是否返回原图信息,0不返回原图信息,1返回原图信息,默认为0 int
rules 处理规则,一条规则对应一个处理结果(目前支持五条规则),不填则不进行图片处理 List

返回参数说明

CIUploadResult 类用于返回图片处理结果信息,其主要成员说明如下:

成员名称 描述 类型
originalInfo 原图信息 OriginalInfo
processResults 图片处理结果 ProcessResults

OriginalInfo 类用于记录原图信息,其主要成员说明如下:

成员名称 描述 类型
key 原图文件名 String
location 图片路径 String
imageInfo 原图图片信息 ImageInfo
etag 原图 ETag 信息(若处理结果图覆盖原图则为结果图 ETag 信息) String

ImageInfo 类用于记录原图图片信息,其主要成员说明如下:

成员名称 描述 类型
format 格式 String
width 图片宽度 Integer
height 图片高度 Integer
quality 图片质量 Integer
ave 图片主色调 String
orientation 图片旋转角度 Integer

ProcessResults 类用于记录图片处理结果,其主要成员说明如下:

成员名称 描述 类型
objectList 每一个图片处理结果 List

CIObject 类用于记录一个图片处理结果,其主要成员说明如下:

成员名称 描述 类型
key 文件名 String
location 图片路径 String
format 图片格式 String
width 图片宽度 Integer
height 图片高度 Integer
size 图片大小 Integer
quality 图片质量 Integer
etag 处理结果图 ETag 信息 String

对云上数据进行图片处理

下面示例展示了如何对已存储在 COS 的图片进行相应处理操作,并将结果存入到 COS。

示例代码

String bucketName = "examplebucket-1250000000";String key = "test.jpg";ImageProcessRequest imageReq = new ImageProcessRequest(bucketName, key);
PicOperations picOperations = new PicOperations();picOperations.setIsPicInfo(1);List ruleList = new LinkedList();PicOperations.Rule rule1 = new PicOperations.Rule();rule1.setBucket(bucketName);rule1.setFileId("test-1.jpg");rule1.setRule("imageMogr2/rotate/90");ruleList.add(rule1);PicOperations.Rule rule2 = new PicOperations.Rule();rule2.setBucket(bucketName);rule2.setFileId("test-2.jpg");rule2.setRule("imageMogr2/rotate/180");ruleList.add(rule2);picOperations.setRules(ruleList);
imageReq.setPicOperations(picOperations);
CIUploadResult result = cosClient.processImage(imageReq);



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/145780.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 阿里云对象存储OSSiOS简单下载-云淘科技

    本文档介绍如何进行简单下载。 示例代码 下载文件时,您可以指定下载为本地文件或者下载为NSData。 OSSGetObjectRequest * request = [OSSGetObjectRequest new]; // 填写Bucket名称,例如examplebucket。 request.bucketName = @”examplebucket”; …

    阿里云对象存储 2023年12月10日
  • 腾讯云对象存储上传对象

    简介 本文档提供关于对象的高级上传、简单上传、分块上传等操作相关的 API 概览以及 SDK 示例代码。简单操作 API 操作名 操作描述 PUT Object 简单上传对象 上传一个对象至存储桶 APPEND Object 追加上传对象 使用分块追加的方式上传对象 分块操作 API 操作名 操作描述 List Multipart Uploads 查询分块上…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储创建存储桶 – mb

    mb 命令用于创建存储桶。 命令格式 ./coscli mb cos:// -e [flag] 注意 使用 mb 命令创建存储桶,需要携带全局 flag -e 或 –endpoint 指定存储桶所在地域。mb 命令包含以下参数: 参数格式 参数用途 示例 cos:// 用于自定义存储桶名称 cos://examplebucket-1250000000 mb…

    腾讯云 2023年12月9日
  • 腾讯云对象存储资源包续费

    说明 若资源包价格发生变动(如降价),此前购买的资源包将不能继续续费,您需要重新进行选购。对象存储(Cloud Object Storage,COS) 提供资源包的续费功能。若您此前已购买的资源包有效期将要结束,您可按需对已购买的资源包进行手动续费或自动续费,以便将资源包的有效期进行延长。 重要通知 注意2021年12月1日起,COS 资源包的有效时长、重置…

    腾讯云 2023年12月9日
  • 阿里云RDS数据库如何处理RDS MySQL连接数被打满的情况-云淘科技

    问题描述 连接数满会导致客户端无法连接到RDS MySQL数据库。 问题原因 空闲连接过多。 活动连接过多。 解决方案 说明 如果对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果在阿里云平台授权或者提交过登录账号、…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。