阿里云OSS 图片处理api(custom)

2023-11-04

首先放个阿里云OSS图片处理接口文档 阿里云官方地址
OSS 图片处理接口文档

我们有时会抱怨用户上传的图文中图片文件大了(假如说3M的图片)。导致生成的网页打开速度慢,怎么办呢?

问题分析:网页打开慢是因为网页资源下载的那张图片下载慢。只要能够改变用户上传的大小就能解决这个问题。

方案一: 限制用户上传文件的大小?
1、使用的用户并不懂程序,限制了大小用户是否会觉得体验感不好?

方案二:图片上传后我们是否能对图片进行处理使之改变该图片的大小(压缩)?
1、我们写的程序处理图片的接口就一定很好吗?
2、我们有那么多精力去做这个吗?
3、我们能否在网上查询相应的资源下载对应的图片处理接口包来使用?安装使用的流程复杂吗?
4、能否在现有的资源下找个免费的第三方平台免费帮助我们?

然后我根据自己的情况我选择了上述的方案二 - 4 这个方法
采用OSS自带的图片处理机制来帮助我们。
我只说一下我的使用心得。
我的需求只是压缩用户上传上来的图片文件大小
假设我的OSS域名是
http://demo.oss-cn-xxxxx.aliyuncs.com
在该demo bucket下我上传了一张图片 test.jpg 文件大小是3M
假设http能访问到的地址 http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg

现在我想更改这个图片文件的大小。怎么办?
1、更改图片清晰度
2、缩小图片尺寸
我能想起的就是这两个方法
但是根据我的需求不能更改缩小图片的尺寸,那么只能是更改图片的清晰度了。
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/quality,q_60
原图清晰度的60%
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/quality,q_80
原图清晰度的80%

看到了吧?
queryString : x-oss-process=image/quality,q_{int} 这个就是更改图片清晰度的结尾参数 {int}取值0~100

当然我们还可以对图片进行多次处理

裁剪
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/circle,r_100

先压缩再裁剪
http://demo.oss-cn-xxxxx.aliyuncs.com/test.jpg?x-oss-process=image/quality,q_80/circle,r_100

是不是很方便,不需要我们自己去写代码,只要我们自己在参数后面加入对应的参数就行了。

当然如果你有自己的阿里云域名(通过域名映射指向的阿里云域名的,如demo.xxxxx.com 指向阿里云的demo.oss-cn-xxxxx.aliyuncs.com) 怎么去实现上述的功能呢?
一样的,什么都不需要变化。直接点:
http://demo.xxxxx.com/test.jpg?x-oss-process=image/circle,r_100
http://demo.xxxxx.com/test.jpg?x-oss-process=image/quality,q_80/circle,r_100

如果demo.xxxx.com 做了CDN 加速 也一样用。虽然这个没测试过 但是网上其它老师都是这么说的。

如果你的域名是https 协议访问的,你也可以试一下我上述的方法,我也没测试过https协议的访问情况,如果测试了的小伙伴方便在下方留个言说下测试结果么?方便后面的小伙伴们查看测试结果,节约时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里云OSS 图片处理api(custom) 的相关文章

  • jQuery - 解析 JSON 数据 - 变量名称遇到问题

    我第一次深入研究 JSON 数据的使用 不过我有一些使用 jQuery 的经验 我发布到此 URL tumblr api jyoseph com api read json 我想做的是输出返回的 json 到目前为止我所拥有的 docume
  • 如何使用 Twitter Api 在单个请求中获取 20 多个列表成员?

    我想让超过 20 个用户在单个请求中使用 twitter api 有什么参数可以指定吗 我正在使用这个APIhttp api twitter com 1 Barelyme Politics members xml cursor 1 http
  • 删除 Google Maps API Premier 使用条款/徽标/等。链接?

    删除我的集成谷歌地图 谷歌地图总理 上显示的徽标 使用条款链接是否合法 问题是 当我放大地图时 链接往往会变得更长并记录并覆盖整个网站 这非常难看 当然可以给div容器一个 overflow hidden 标志有一点帮助 但仍不令人满意 T
  • 如何使用php api检查电子邮件或手机paypal帐户状态?

    如何使用 php api 检查电子邮件或手机 Paypal 帐户状态 好的 如果我想汇款到此电子邮件贝宝 email protected cdn cgi l email protection 或手机 1234567890 汇款前 我可以检查
  • 如何从网站中提取冠状病毒病例?

    我正在尝试从网站中提取冠状病毒 https www trackcorona live https www trackcorona live 但我得到了一个错误 这是我的代码 response requests get https www t
  • 如何在WCF Rest服务中从流上传图像

    我正在尝试创建 wcf 服务 该服务将上传 pdf doc xls 图像等文件 但 pdf txt 文件正在上传并正确打开 但是当我尝试上传图像文件时 文件正在上传 但是图像不可见 OperationContract WebInvoke M
  • Web Api - 不允许捕获 405 方法

    截至目前 Web api 应用程序针对 405 方法不允许错误返回以下响应正文 我正在尝试更改响应正文 但我不知道如何使用委托处理程序 ApiControllerActionSelector 或过滤器 谁能帮我捕获服务器端的 405 错误
  • Google Sheets API v4 和 valueInputOption

    我的电子表格中有三列 第一个是日期 第二个和第三个是简单字符串 当我批量上传数据时valueInputOption RAW 我的日期列得到错误的结果 所有日期前面都有一个看不见的撇号 字符串列没问题 当我使用valueInputOption
  • 如何在flutter项目中使用http拦截器?

    我必须向我的所有 Api 添加标头 有人告诉我为此使用 http 拦截器 但我无法理解如何做到这一点 因为我是颤振的新手 谁能帮我举个例子吗 您可以使用http 拦截器 https pub dev packages http interce
  • Spotify Apps API:库类不会返回用户播放列表

    我试图获取一个包含用户库中所有播放列表的数组 http developer spotify com download spotify apps api reference dcdebc652c html 其他类属性 专辑 艺术家 加星标的播
  • Android GCM 服务器的 API 密钥

    我有点困惑我应该为 GCM 服务器使用哪个 API 密钥 在文档中它说使用 android api 密钥 这对我不起作用并且总是给出未经授权的 http developer android com google gcm gs html ht
  • 如何为 ApplicationController 中 after_action 过滤器中的所有操作渲染 json?

    是否可以在 Rails ApplicationController 中创建一个 after filter 方法 该方法在每个操作上运行并呈现为 JSON 我正在构建一个 API 并且希望将控制器中的每个操作的输出呈现为 JSON 客户控制器
  • SSDT SQL Server 数据库项目中用于架构比较的命令行/API?

    在 Visual Studio 2012 中 我们有Schema Compare http msdn microsoft com en us library hh272690 28v vs 103 29 aspx in SSDT http
  • 使用 PHP 和 OAuth 访问 SkyDrive

    我想使用 PHP 访问 skyDrive 我想检索文件和文件夹列表 下载 上传和删除文件 我有一个 microsoft dev clientID 和 clientSecret 有人可以帮助我开始使用 OAuth 连接到 skyDrive 并
  • 有没有办法以编程方式访问 Google 的搜索引擎结果? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 谷歌是否提供了一种以编程方式查看特定查询的搜索引擎结果的方法 我想构建一个跟踪应用程序 以便用户可以看
  • 简单、安全的API认证系统

    我有一个简单的 REST JSON API 供其他网站 应用程序访问我网站的一些数据库 通过 PHP 网关 基本上该服务的工作原理如下 调用 example com fruit orange 服务器返回有关橙子的 JSON 信息 问题是 我
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • 如何使用 blazor 前端 http 请求附加令牌

    我使用 blazor 作为前端 api 已完成 JWT 配置 前端可以创建用户帐户并登录API 但现在我的前端httpclient没有设置JWT令牌 所以如果我在Api控制器中设置 授权 前端将无法访问它 api程序代码如下 builder
  • Google API 令牌端点 POST 返回错误请求 400

    我正在尝试用一次性 Google Plus 授权代码换取访问令牌 但我不断收到 400 Bad Request 我正在使用VB NET 这是代码 We should now have a good one time authorizatio
  • REST api 可以通过两个 HTTP 方法公开吗?

    问题是我们有一个复杂的搜索 api 查询字符串 并且希望让用户可以方便地使用 body 所以我们希望同时允许 GET 和 POST 或 PUT 我知道 对于搜索是否为只读操作存在争论 并且根据 REST 标准 它应该只能是 GET 据我了解

随机推荐

  • esp32 怎么分配freertos 堆栈大小_spiffs 文件系统在esp32中的应用

    spiffs 介绍 SPIFFS 是一个开源文件系统 用于 SPI NOR flash 设备的嵌入式文件系统 支持磨损均衡 文件系统一致性检查等功能 spiffs 源码地址 github com spiffs 特点 而我们知道乐鑫的esp3
  • Qss之QTabWidget美化

    直接上代码吧 QTabWidget QTabWidget pane border none QTabWidget tab bar left 5px QTabBar tab background gray border 2px solid C
  • 内核内存回收原理简介

    页框回收与交换 概念 内核在为进程服务的过程中会分配大量的页 但是这些页对应的虚拟地址在进程的生命周期里一直会被断断续续的访问 所以当内核同时为大量进程服务时 内存终究会耗尽 所有页框回收就是在内核未耗尽内存之前 因为回收与交换也会使用内存
  • LinkWeChat 私域管理平台基于企业微信的开源 SCRM

    LinkWeChat 是国内首个基于企业微信的开源 SCRM 在集成了企微强大的开放能力的基础上 进一步升级拓展灵活高效的客户运营能力及多元化精准营销能力 让客户与企业之间建立强链接 帮助企业提高客户运营效率 强化营销能力 拓展盈利空间 是
  • 绘制流程图的基本规则

    流程图可以简单地描述一个过程 是对过程 算法 流程的一种图像表示 在技术设计 交流及商业简报等领域有广泛的应用 流程图可分为 数据流程图和作业流程图 1 程序流程图的作用 程序流程图的作用程序流程图的作用程序流程图的作用 程序流程图是人们对
  • 优秀个人技术博客

    优秀个人技术博客 作为一个程序员 我们经常需要去网络上寻找大量的参考资料以解决当前遇到的问题 就应用型需求问题几乎都不可避免的会被许多不同地域不同时间的开发者遇到 这类问题可以直接通过前人的解决方案来进行自我消化病指导解决我们遇到的问题 但
  • CSS让DIV上下左右居中的方法

    示例 一个父div w 100 h 400px 中有一个子div w 100px h 100px 让其上下左右居中 1 使用varticle align属性 理念 利用表格单元格的居中属性 步骤 1 父div外层配置一个div 同时设置为表
  • 音频属性相关:声道、采样率、采样位数、样本格式、比特率

    不仅限于FFmpeg 音频采样所得的PCM都含有三个要素 声道 channel 采样率 sample rate 样本格式 sample rate 声道 当人听到声音时 能对声源进行定位 那么通过在不同的位置设置声源 就可以造就出更好的听觉感
  • MPEG压缩编码的视频基本流 - MATLAB实现

    MPEG压缩编码的视频基本流 MATLAB实现 视频压缩是一种广泛应用于数字媒体领域的技术 它可以有效地减少视频文件的大小 同时保持较高的视觉质量 其中 MPEG Moving Picture Experts Group 压缩编码标准是一种
  • web前端技术笔记(一)html简介及常用标签、页面布局

    今天是星期二 h1 一级标题 h1 h2 二级标题 h2 h3 三级标题 h3 h4 四级标 h4
  • 嵌入式课程结业总结

    我大学学的专业就是计算机 之前就接触过c c 等计算机语言 在大学期间 上课的方式就是老师在讲台上讲 学生在书本上划重点 做笔记等 很少有实操的机会 学的东西基本都停留在理论状态 独立敲代码的能力基本没有 来到华清之后 刚开始的预科C的课程
  • Mapbox Sprite精灵图生成

    出处 ATtuing 博客园 https www cnblogs com ATtuing p 9273391 html 1 什么是sprite文件 sprite 文件主要是将一堆小图生成一种大图的方法 并且将每张小图的位置信息保存下来 方便
  • python拯救爱情

    题目描述 小艺酱走到一个花之占卜店中 店员小Q看到小艺酱可怜的样子 允许小艺酱免费占卜一次 花瓣占卜 1 一瓣 在一起 一瓣 不在一起 开始的花瓣表示 在一起 2 直到最后一个花瓣落地游戏结束 3 可以选择多朵花 选择撕一朵花就必须撕完 输
  • 使用JQuery快速高效制作网页交互特效 第十一章 蔚蓝网项目

    样式 global css charset utf 8 CSS Document margin 0px padding 0px font size 12px line height 20px color 333 ul li ol h1 dl
  • contenteditable属性将标签变为可编辑状态,可用于在线编辑修改文本

    1 概述 html 中大部分标签都是不可以编辑的 但是添加了contenteditable属性之后 标签会变成可编辑状态 同时可以触发 input事件 输入内容变化时触发 focus事件 获取焦点时触发 blur事件 失去焦点时触发 2 示
  • WebVirtMgr新建KVM虚拟机

    WebVirtMgr新建KVM虚拟机 一 登录WebVirtMgr 二 KVM节点配置 1 链接qemu相关命令 2 删除宿主机容器的默认网络 三 创建网络 1 关闭NetworkManager 2 创建网桥 3 使用命令行创建网桥 4 创
  • 浮动的特性与清除

    浮动的特性与清除 浮动 float 可以改变元素标签默认的排列方式 最典型的是可以让多个块级元素一行内排列显示 在css中 任何元素都可以浮动 在布局的时候是非常有用的 浮动特性 浮动元素会脱离标准流 脱标 浮动元素会一行内显示并且元素顶部
  • jpg和png通道数上的区别

    JPEG jpg 和PNG png 是两种常见的图像格式 它们在通道数上有一些区别 1 JPEG图像的通道数 JPEG图像通常用于存储彩色图像 具有3个通道 红色 绿色和蓝色 表示RGB颜色模式 每个通道存储相应颜色的强度值 以生成彩色图像
  • C# WinForm 设置DataGridView选中指定行

    int rowIndex 3 指定行号 this dgvInGoodsInfo Rows rowIndex Selected true this dgvInGoodsInfo CurrentCell this dgvInGoodsInfo
  • 阿里云OSS 图片处理api(custom)

    首先放个阿里云OSS图片处理接口文档 阿里云官方地址 OSS 图片处理接口文档 我们有时会抱怨用户上传的图文中图片文件大了 假如说3M的图片 导致生成的网页打开速度慢 怎么办呢 问题分析 网页打开慢是因为网页资源下载的那张图片下载慢 只要能