当前位置: 首页 > 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的图片压缩服务,平衡图片质量与存储/流量成本。

http://www.xdnf.cn/news/531505.html

相关文章:

  • IDEA+AI 深度融合:重构高效开发的未来模式
  • 缺乏团队建设活动,如何增强凝聚力?
  • 隨筆20250519 Async+ThreadPoolTaskExecutor⾃定义线程池进阶实战
  • 基于卫星遥感的耕地非农化监测的技术原理简述
  • 论坛系统(中-2)
  • 【HTML】【面试提问】HTML面试提问总结
  • 网球机器人自动捡球机械结构设计与创新研究
  • 如何git clone下来自定义文件名
  • Java设计模式之享元模式:从基础到高级的全面解析
  • Python集合
  • 第35周Zookkeeper+Dubbo 面试题精讲
  • RISC-V 开发板 MUSE Pi Pro PCIE 测试以及 fio 崩溃问题解决
  • Spring Boot 集成 druid,实现 SQL 监控
  • C语言实现android/linux按键模拟
  • 纸上流年:Linux基础IO的文件理解与操作
  • 本地部署dify+ragflow+deepseek ,结合小模型实现故障预测,并结合本地知识库和大模型给出维修建议
  • Node.js聊天室开发:从零到上线的完整指南
  • Httphelper: Http请求webapi小记
  • 达梦数据库对json字段进行操作
  • 【Git】分支管理
  • Go语言八股文之Mysql优化
  • 【Golang笔记02】函数、方法、泛型、接口学习笔记
  • AI在网络安全中的应用之钓鱼邮件检测
  • 网络安全-等级保护(等保) 2-7 GB/T 25058—2019 《信息安全技术 网络安全等级保护实施指南》-2019-08-30发布【现行】
  • Canvas设计图片编辑器全讲解(一)Canvas基础(万字图文讲解)
  • OSCP备战-pwnlab_init靶机详细步骤
  • 办公效率提升:一键合并多个Word文档的解决方案
  • 【聚类】K-means++
  • Spring Cloud初探之spring cloud gateway实现转发、鉴权及负载均衡(六)
  • spring中yml配置上下文与tomcat等外部容器不一致问题