当前位置: 首页 > news >正文

【OSS】如何使用OSS提供的图片压缩服务

使用阿里云OSS提供的图片压缩服务,可以通过图片处理功能(Image Processing,简称IMG)来实现。以下是详细的使用步骤和说明:


一、开通OSS服务并创建Bucket

  1. 开通OSS服务
    登录阿里云控制台,找到并开通OSS服务(需实名认证)。
  2. 创建Bucket
    • 进入OSS控制台,点击“创建Bucket”。
    • 填写Bucket名称、选择地域、设置读写权限(建议“公共读”以支持图片处理URL访问)。
    • 完成创建。

二、上传图片至OSS

  1. 上传图片
    • 进入Bucket详情页,点击“文件管理” → “上传文件”。
    • 选择需要压缩的图片并上传。

三、使用图片处理(IMG)实现压缩

OSS的IMG功能通过在图片URL后添加处理参数,实现实时压缩和格式转换。

1. 基础压缩语法
https://<Bucket名称>.<地域域名>/<图片路径>?x-oss-process=image/<处理参数>
2. 常用压缩参数
参数说明示例
resize,w_<宽度>,h_<高度>指定宽高压缩(保持比例)resize,w_800,h_600
quality,q_<质量值>调整JPEG质量(1-100)quality,q_80
format,webp转换为WebP格式(更小体积)format,webp
auto-orient自动修正图片方向auto-orient
3. 示例URL
  • 原始图片URL
    https://example-bucket.oss-cn-hangzhou.aliyuncs.com/test.jpg
  • 压缩后URL(宽高800x600,质量80)
    https://example-bucket.oss-cn-hangzhou.aliyuncs.com/test.jpg?x-oss-process=image/resize,w_800,h_600/quality,q_80

四、高级功能(可选)

  1. 自适应压缩
    使用l_<像素>参数按最长边缩放:
    ?x-oss-process=image/resize,l_800

  2. 格式转换
    将JPEG转为WebP(体积更小):
    ?x-oss-process=image/format,webp

  3. 组合参数
    同时压缩、转换格式并调整质量:
    ?x-oss-process=image/resize,w_800/format,webp/quality,q_85


五、集成到代码(示例)

前端HTML中直接引用压缩URL
<img src="https://example-bucket.oss-cn-hangzhou.aliyuncs.com/test.jpg?x-oss-process=image/resize,w_800" alt="压缩后的图片">
后端生成压缩URL(Node.js示例)
const ossBucket = "example-bucket";
const ossEndpoint = "oss-cn-hangzhou.aliyuncs.com";
const imageKey = "test.jpg";// 生成压缩URL
const compressedUrl = `https://${ossBucket}.${ossEndpoint}/${imageKey}?x-oss-process=image/resize,w_800`;
console.log(compressedUrl);

六、注意事项

  1. 权限设置

    • Bucket需设置为“公共读”或通过签名URL授权访问。
    • 私有Bucket需使用STS临时授权或签名URL。
  2. 缓存控制

    • 通过Cache-Control头控制缓存(如Cache-Control: max-age=31536000)。
  3. 错误处理

    • 无效参数会返回400错误,需检查URL格式。
    • 图片不存在返回404错误。
  4. 性能优化

    • 避免对同一图片重复处理,建议缓存压缩结果。
    • 批量处理时使用异步任务减少响应时间。

七、收费与监控

  1. 计费规则

    • 按处理次数计费(如resize操作计为1次)。
    • 免费额度:每月10TB处理量(超出后按量计费)。
  2. 监控与日志

    • 在OSS控制台查看图片处理请求量和费用。
    • 使用CloudMonitor设置告警规则(如处理量超阈值时通知)。

总结

  • 简单压缩:直接在图片URL后添加?x-oss-process=image/resize,w_800
  • 高级需求:组合参数(如resize+format+quality)。
  • 成本优化:利用免费额度、缓存结果、选择合适参数。

通过以上步骤,您可以高效使用OSS的图片压缩服务,平衡图片质量与存储/流量成本。

相关文章:

  • 大二周周练翻译
  • 动态规划-LCR 089.打家劫舍-力扣(LeetCode)
  • 多类别异常检测新SOTA-MVMCAD
  • 如何通过生成式人工智能认证(GAI认证)提升自己的技能水平?
  • 中小实验室质检LIMS 系统选型 从成本管控到竞争力升级的黄金法则
  • Mybatis操作数据库(2)
  • [学习]POSIX消息队列的原理与案例分析(完整示例代码)
  • 基于DolphinScheduler抽取通用EventBus组件:支持延迟与事件驱动
  • Ubuntu开机自启服务
  • 关于systemverilog中在task中使用force语句的注意事项
  • 第三十八节:视频处理-视频保存
  • 线程调度与单例模式:wait、notify与懒汉模式解析
  • 麦克风与扬声器的关键区别 [特殊字符]
  • SpringBoot+ELK 搭建日志监控平台
  • 前端 vue + element-ui 框架从 0 - 1 搭建
  • Spring Cloud Seata 快速入门及生产实战指南
  • antd树结构
  • 阻塞队列:线程安全与生产者消费者模型解析
  • OSPF路由撤销及优化
  • solana钱包管理模块
  • 上海普陀:探索1岁以下托育服务的保育内容、人员配备等关键要素
  • 上海电视节评委会名单公布,陈宝国担任电视剧评委会主席
  • 王毅同丹麦外交大臣会谈,表示在格陵兰问题充分尊重丹麦主权和领土完整
  • 长沙至赣州高铁初步设计获批,可填补湘赣两省斜向交通空白
  • 中国预警机雷达有多强?可数百公里外看清足球轨迹
  • 国家主席习近平任免驻外大使