SDK访问
对于任意权限的图片文件,都可以直接使用 SDK 访问图片、进行处理。
提示:
- SDK处理图片文件支持 自定义样式、 HTTPS、 级联处理
var OSS = require('ali-oss');
var co = require('co');
var client = new OSS({
accessKeyId: '<accessKeyId>',
accessKeySecret: '<accessKeySecret>',
bucket: '<bucketName>',
endpoint: '<endpoint, 例如http://oss-cn-hangzhou.aliyuncs.com>'
});
// 缩放
co(function* () {
var result = yield client.get('example.jpg', './example-resize.jpg',
{process: 'image/resize,m_fixed,w_100,h_100'});
}).catch(function (err) {
console.log(err);
});
// 裁剪
co(function* () {
var result = yield client.get('example.jpg', './example-crop.jpg',
{process: 'image/crop,w_100,h_100,x_100,y_100,r_1'});
}).catch(function (err) {
console.log(err);
});
// 旋转
co(function* () {
var result = yield client.get('example.jpg', './example-rotate.jpg',
{process: 'image/rotate,90'});
}).catch(function (err) {
console.log(err);
});
// 锐化
co(function* () {
var result = yield client.get('example.jpg', './example-sharpen.jpg',
{process: 'image/sharpen,100'});
}).catch(function (err) {
console.log(err);
});
// 水印
co(function* () {
var result = yield client.get('example.jpg', './example-watermark.jpg',
{process: 'image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ'});
}).catch(function (err) {
console.log(err);
});
// 格式转换
co(function* () {
var result = yield client.get('example.jpg', './example-format.jpg',
{process: 'image/format,png'});
}).catch(function (err) {
console.log(err);
});
// 图片信息
co(function* () {
var result = yield client.get('example.jpg', './example-info.txt',
{process: 'image/info'});
}).catch(function (err) {
console.log(err);
});
提示:需要事先到oss控制台添加自定义式样example-sytlevar OSS = require('ali-oss');
var co = require('co');
var client = new OSS({
accessKeyId: '<accessKeyId>',
accessKeySecret: '<accessKeySecret>',
bucket: '<bucketName>',
endpoint: '<endpoint, 例如http://oss-cn-hangzhou.aliyuncs.com>'
});
// 自定义样式
co(function* () {
var result = yield client.get('example.jpg', './example-custom-style.jpg',
{process: 'style/example-sytle"'});
}).catch(function (err) {
console.log(err);
});
var OSS = require('ali-oss');
var co = require('co');
var client = new OSS({
accessKeyId: '<accessKeyId>',
accessKeySecret: '<accessKeySecret>',
bucket: '<bucketName>',
endpoint: '<endpoint, 例如http://oss-cn-hangzhou.aliyuncs.com>'
});
// 级联处理
co(function* () {
var result = yield client.get('example.jpg', './example-cascade.jpg',
{process: 'image/resize,m_fixed,w_100,h_100/rotate,90'});
}).catch(function (err) {
console.log(err);
});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提到的是使用阿里云对象存储服务(Object Storage Service,简称OSS)的图片处理功能,这是一项非常实用的服务,允许用户直接通过SDK对存储在OSS中的图片进行各种基础和高级处理,而无需先将图片下载到本地。下面是对您提供信息的一个总结和补充说明:
基本概念:阿里云OSS提供了丰富的图片处理能力,包括但不限于获取图片信息、格式转换、缩放、裁剪、旋转、添加效果(如锐化)、水印等,这些操作都可以通过设置process
参数来实现。
示例代码:您展示的Node.js代码片段展示了如何使用ali-oss SDK执行常见的图片处理任务。每个任务都通过定义特定的process
字符串来指定处理逻辑,例如image/resize,m_fixed,w_100,h_100
表示按照固定模式将图片缩放到宽度100像素、高度100像素。
process
参数中用斜杠/
分隔不同的处理指令即可。这为复杂图片处理需求提供了灵活性。总之,阿里云OSS的图片处理服务极大地简化了云端图片管理与优化的工作流程,无论是简单的尺寸调整还是复杂的样式应用,都能轻松实现。