图片处理
OSS图片处理是OSS对外提供的海量、安全、低成本、高可靠的图片处理服务。
用户将原始图片上传保存到OSS,通过简单的RESTful 接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。基于OSS图片处理,用户可以搭建自己的图片处理服务。
图片处理功能
图片处理的详细信息请参见OSS图片处理指南。
OSS图片处理提供以下功能:
图片处理使用
- 匿名访问
String url = oss.presignPublicObjectURL(testBucket, testObject); OSSLog.logDebug("signPublicURL", "get url: " + url); 然后对生成的url追加x-oss-process:operation 的参数,operation代表的是图片处理操作
- 授权访问
SDK中使用图片处理时,只需要在下载图片时调用
request.setxOssProcess()
方法设置处理参数。示例如下:// 构造图片下载请求。 GetObjectRequest get = new GetObjectRequest("<bucketName>", "example.jpg"); // 图片处理。 request.setxOssProcess("image/resize,m_fixed,w_100,h_100"); OSSAsyncTask task = oss.asyncGetObject(get, new OSSCompletedCallback<GetObjectRequest, GetObjectResult>() { @Override public void onSuccess(GetObjectRequest request, GetObjectResult result) { // 请求成功。 InputStream inputStream = result.getObjectContent(); byte[] buffer = new byte[2048]; int len; try { while ((len = inputStream.read(buffer)) != -1) { // 处理下载的数据。 } } catch (IOException e) { e.printStackTrace(); } } @Override public void onFailure(GetObjectRequest request, ClientException clientExcepion, ServiceException serviceException) { // 处理异常,用户可自行填写。 } });
说明 如需对图片进行其它处理,只需替换request.setxOssProcess()
的相关参数。 - SDK访问
GetObjectRequest request = new GetObjectRequest("bucket-name", "image-name"); request.setxOssProcess("image/resize,m_lfit,w_100,h_100"); // 设置图片处理 OSSAsyncTask task = ossClient.asyncGetObject(request, getCallback);
图片处理持久化
以下代码用于图片处理持久化:
OSSImagePersistRequest *request = [OSSImagePersistRequest new];
request.fromBucket = _privateBucketName;
request.fromObject = OSS_IMAGE_KEY;
request.toBucket = _privateBucketName;
request.toObject = @"image_persist_key";
// 缩放
request.action = @"image/resize,w_100";
[[[ossClient imageActionPersist:request] continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
return nil;
}] waitUntilFinished];
图片处理工具
您可以通过可视化图片处理工具 ImageStyleViewer直观地看到OSS图片处理结果。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论