图片处理是OSS提供的海量、安全、低成本、高可靠的图片处理服务。原始图片上传到OSS后,您可以通过简单的RESTful接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。
图片处理的详细信息请参见OSS图片处理指南。
图片处理使用
- 匿名访问 123
String url = oss.presignPublicObjectURL(testBucket, testObject);
OSSLog.logDebug(
"signPublicURL"
,
"get url: "
+ url);
然后对生成的url追加x-oss-process:operation 的参数,operation代表的是图片处理操作
- 授权访问
SDK中使用图片处理时,只需要在下载图片时调用
request.setxOssProcess()
方法设置处理参数。示例如下:1234567891011121314151617181920212223242526272829// 构造图片下载请求。
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访问 123
GetObjectRequest request =
new
GetObjectRequest(
"bucket-name"
,
"image-name"
);
request.setxOssProcess(
"image/resize,m_lfit,w_100,h_100"
);
// 设置图片处理
OSSAsyncTask task = ossClient.asyncGetObject(request, getCallback);
图片处理持久化
以下代码用于图片处理持久化:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // fromBucket和toBucket分别表示源Bucket和目的Bucket名称。 // fromObjectKey和toObjectkey分别表示源Object和目标Object名称,其填写格式为指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。 // action表示图片处理操作。 ImagePersistRequest request = new ImagePersistRequest(fromBucket,fromObjectKey,toBucket,toObjectkey,action); OSSAsyncTask task = mOss.asyncImagePersist(request, new OSSCompletedCallback<ImagePersistRequest, ImagePersistResult>() { @Override public void onSuccess(ImagePersistRequest request, ImagePersistResult result) { // sucess callback } @Override public void onFailure(ImagePersistRequest request, ClientException clientException, ServiceException serviceException) { // errror callback } }); |
图片处理工具
您可以通过可视化图片处理工具 ImageStyleViewer直观地看到OSS图片处理结果。