如何解决财务问题OSSClient问题

博客分类:
前天使用jython全量build数据中间总会出现字符乱码问题,浪费了很多时间找问题原因,记录一下问题解决过程。
问题现象:
15:39:08 [ERROR] com.duitang.dboss.client.SimpleServiceProxy
- service invoke faild!
org.codehaus.jackson.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 0)): has to be escaped using backslash to be included in string value
at [Source: java.io.StringReader@; line: 1, column: 387287]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521)
at org.codehaus.jackson.impl.JsonParserMinimalBase._throwUnquotedSpace(JsonParserMinimalBase.java:482)
at org.codehaus.jackson.impl.ReaderBasedParser._finishString2(ReaderBasedParser.java:1359)
at org.codehaus.jackson.impl.ReaderBasedParser._finishString(ReaderBasedParser.java:1330)
at org.codehaus.jackson.impl.ReaderBasedParser.getText(ReaderBasedParser.java:200)
at org.codehaus.jackson.map.deser.std.UntypedObjectDeserializer.deserialize(UntypedObjectDeserializer.java:59)
at org.codehaus.jackson.map.deser.std.UntypedObjectDeserializer.mapObject(UntypedObjectDeserializer.java:218)
at org.codehaus.jackson.map.deser.std.UntypedObjectDeserializer.deserialize(UntypedObjectDeserializer.java:47)
at org.codehaus.jackson.map.deser.std.UntypedObjectDeserializer.mapArray(UntypedObjectDeserializer.java:165)
at org.codehaus.jackson.map.deser.std.UntypedObjectDeserializer.deserialize(UntypedObjectDeserializer.java:51)
at org.codehaus.jackson.map.deser.std.MapDeserializer._readAndBind(MapDeserializer.java:319)
at org.codehaus.jackson.map.deser.std.MapDeserializer.deserialize(MapDeserializer.java:249)
at org.codehaus.jackson.map.deser.std.MapDeserializer.deserialize(MapDeserializer.java:33)
at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
at com.duitang.dboss.client.SimpleServiceProxy.doExecute(SimpleServiceProxy.java:76)
at com.duitang.dboss.client.SimpleServiceProxy.execute(SimpleServiceProxy.java:48)
at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204)
at org.python.core.PyObject.__call__(PyObject.java:438)
at org.python.core.PyObject.__call__(PyObject.java:442)
at org.python.core.PyMethod.__call__(PyMethod.java:151)
at dboss$py._JServiceProxy__invoke$42(/duitang/dist/app/main/java/japa/src/main/webapp/dboss.py:342)
过程分析:
1. 猜测一:数据的问题
通过报错原因应该是dboss返回的字符串包含特殊字符导致的。之前以为是某些数据包含特殊字符导致的,但是把导致错误ids记录下来测试却不会报错。
2.猜测二: 和数据没有关系
之前每次通过build数据报错来验证,这样每次测试话费很多时间,后来转念一想,也许和数据没关系吧,在本地写了一个测试脚本:
DbossClient dbossClient = new DbossClient(map);
final ServiceProxy blogQueryService = dbossClient.getService("blogQueryService");
for (int i = 0; i & 1000; ++i) {
List&Long& ids = new ArrayList();
for (int j = 0; j & 2000; ++j) {
ids.add(8772421l);
Object result = blogQueryService.execute("queryBlogDetail", new Object[] { ids });
System.out.println(i);
} catch (Exception e) {
e.printStackTrace();
靠,居然能重现问题,果然和数据关系,应该是大数据量传输的问题。
3.猜测三: buf读取的问题
现在问题很好定位了,之前修改了readLine方法:
public String readLine(int length) throws IOException {
int bytesToRead = Math.min(input.available(), length);
ByteArrayOutputStream output = new ByteArrayOutputStream(bytesToRead);
int index = 0;
byte[] buffer =
while (true) {
buffer = output.toByteArray();
index = ToolUtil.indexOf(buffer, EOF);
if (index &= 0) {
bytesToRead = Math.min(input.available(), length);
if (bytesToRead & 0) {
byte[] bytes = new byte[bytesToRead];
input.read(bytes);
output.write(bytes);
int b = input.read(); // 此操作会阻塞,直到有数据被读到
if (b & 0) {
throw new IOException(
" end of the socket input stream has been reached,may be server socket is closed!");
input.unread(b);
return new String(buffer, DbossClientConstant.ENCODE);
但这个方法存在一个bug,其实很基础,原来input.available()返回的可用字节数,不一定保证input.read(bytes)实际能读取这么多。请看available()是如何描述的:
javadoc写道
返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。下一个调用可能是同一个线程,也可能是另一个线程。一次读取或跳过此估计数个字节不会受阻塞,但读取或跳过的字节数可能小于该数。注意,有些 InputStream 的实现将返回流中的字节总数,但也有很多实现不会这样做。试图使用此方法的返回值分配缓冲区,以保存此流所有数据的做法是不正确的。
浏览: 1634428 次
来自: 杭州
,默认是netty还是hassion?
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
不错,谢谢!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'下载阿里云APP
灵活管控,快速上云
对象存储 OSS
OSSClient是OSS的Java客户端,用于管理、操作Bucket和Object等OSS资源,它为调用者提供一系列与OSS进行交互的接口。使用Java SDK发起OSS请求,您需要初始化一个OSSClient实例,并根据需要修改ClientConfiguration的默认配置项。
新建OSSClient要接入OSS,您需要有阿里云账号()、有效的AccessKey (包括AccessKeyId和AccessKeySecret,)和Endpoint。其中Endpoint可以有以下几种形式:
http://oss-cn-hangzhou.aliyuncs.com
用于公网访问杭州区域的Bucket。支持HTTP协议。
https://oss-cn-beijing.aliyuncs.com
用于公网访问北京区域的Bucket。支持HTTPS协议。
http://my-domain.com
用于用户自定义域名(CNAME)访问特定的Bucket。支持HTTP协议。
有关Endpoint的更多信息,请参见和。
获取AccessKeyId和AccessKeySecret之后,您便可以按照以下说明进行初始化。
使用OSS域名新建OSSClient以下代码用于使用OSS域名新建OSSClient:
// endpoint以杭州为例,其它region请按实际情况填写。String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = "&yourAccessKeyId&";String accessKeySecret = "&yourAccessKeySecret&";// 创建OSSClient实例。OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);// 关闭client。ossClient.shutdown();
说明:您的工程中可以有一个或多个OSSClient。OSSClient可以并发使用。
使用自定义域名(CNAME)新建OSSClient以下代码用于使用自定义域名新建OSSClient:
String endpoint = "&yourEndpoint&";// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = "&yourAccessKeyId&";String accessKeySecret = "&yourAccessKeySecret&";// 创建ClientConfiguration实例,按照您的需要修改默认参数。ClientConfiguration conf = new ClientConfiguration();// 开启支持CNAME选项。conf.setSupportCname(true);// 创建OSSClient实例。OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret, conf);// 关闭client。ossClient.shutdown();
说明:使用自定义域名时无法使用ossClient.listBuckets方法。
有关自定义域名的更多信息,请参见。
专有云/专有域环境新建OSSClient以下代码用于使用专有云或专有域环境新建OSSClient:
// endpoint以杭州为例,其它region请按实际情况填写。String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = "&yourAccessKeyId&";String accessKeySecret = "&yourAccessKeySecret&";// 创建ClientConfiguration实例,按照您的需要修改默认参数。ClientConfiguration conf = new ClientConfiguration();// 关闭CNAME选项。conf.setSupportCname(false);// 创建OSSClient实例。OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret, conf);// 关闭client。ossClient.shutdown();
使用IP新建OSSClient以下代码用于使用IP新建OSSClient:
// 某些特殊情况(比如专有域)下,您需要IP地址做作为endpoint,请按照实际IP填写。String endpoint = "http://10.10.10.10";// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = "&yourAccessKeyId&";String accessKeySecret = "&yourAccessKeySecret&";// 创建ClientConfiguration实例,按照您的需要修改默认参数。ClientConfiguration conf = new ClientConfiguration();// 开启二级域名访问OSS,默认不开启,(OSS Java SDK 2.1.2以前的版本需要设置此值,OSS Java SDK 2.1.2以后的版本会自动检测到IP地址,不需要再调用setSLDEnabled设置)。conf.setSLDEnabled(true);// 创建OSSClient实例。OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret, conf);// 关闭client。ossClient.shutdown();
使用STS新建OSSClient以下代码用于使用STS新建一个OSSClient:
// endpoint以杭州为例,其它region请按实际情况填写。String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = "&yourAccessKeyId&";String accessKeySecret = "&yourAccessKeySecret&";String securityToken = "&yourSecurityToken&";// 创建OSSClient实例。OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret, securityToken);// 关闭client。ossClient.shutdown();
关于STS的介绍,请参见。关于Java SDK的STS过期自动处理功能,请参见。
配置OSSClient以下代码用于使用ClientConfiguration设置OSSClient参数:
// endpoint以杭州为例,其它region请按实际情况填写。String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = "&yourAccessKeyId&";String accessKeySecret = "&yourAccessKeySecret&";// 创建ClientConfiguration实例(ClientConfiguration是OSSClient的配置类,可配置代理、连接超时、最大连接数等参数)。ClientConfiguration conf = new ClientConfiguration();// 设置OSSClient允许打开的最大HTTP连接数,默认1024。conf.setMaxConnections(200);// 设置Socket层传输数据的超时时间(单位:毫秒),默认为50000毫秒。conf.setSocketTimeout(10000);//设置建立连接的超时时间(单位:毫秒),默认为50000毫秒。conf.setConnectionTimeout(10000);//设置从连接池中获取连接的超时时间(单位:毫秒),默认不超时。conf.setConnectionRequestTimeout(1000);//如果空闲时间超过此参数的设定值,则关闭连接(单位:毫秒),默认为60000毫秒 。conf.setIdleConnectionTime(10000);// 设置失败请求重试次数,默认3次。conf.setMaxErrorRetry(5);//设置是否支持CNAME作为Endpoint,默认支持。conf.setSupportCname(true);//设置是否开启二级域名(Second Level Domain)的访问方式,默认不开启。conf.setSLDEnabled(true);//设置连接OSS所采用的协议(HTTP/HTTPS),默认为HTTP。conf.setProtocol(Protocol.HTTP);//设置用户代理,指HTTP的User-Agent头,默认为“aliyun-sdk-java”。conf.setUserAgent("aliyun-sdk-java");//设置代理服务器端口,默认值无。conf.setProxyHost("&yourProxyHost&");//设置代理服务器验证的用户名,默认值无。conf.setProxyUsername("&yourProxyUserName&");//设置代理服务器验证的密码,默认值无。conf.setProxyPassword("&yourProxyPassword&");// 创建OSSClient实例。OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret, conf);// 关闭OSSClient。ossClient.shutdown();
关于Java SDK超时设置,请参见 。
这篇文档对您是否有帮助?
感谢您的打分,是否有意见或建议告诉我们?
该活动苹果不是赞助商,并且苹果也不会以任何形式参与。您还没有登录,快捷通道只有在登录后才能使用。 还没有帐号? 赶紧
求助:OSS上传下载,用jsp和servlet创建OSSClient实例遇到问题
在线时间4小时
用jsp+servlet实现往OSS上传下载文件时,在servlet中无法创建OSSClient实例,怎么解决?求各位大神指导一下,拜谢!(注:不会maven)&错误信息:&'995')this.width='995';">& eclipse 报错信息:&严重: Servlet.service() for servlet [servlet.servletTest] in context with path [/oos-test] threw exception [Servlet execution threw an exception] with root cause&java.lang.ClassNotFoundException: com.aliyun.oss.OSSClient&&&&&at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)&&&&&at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)&&&&&at util.OSSManageUtil.downloadFile(OSSManageUtil.java:83)&&&&&at servlet.servletTest.doPost(servletTest.java:52)&&&&&at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)&&&&&at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)&&&&&at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)&&&&&at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&&&&&at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)&&&&&at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&&&&&at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&&&&&at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)&&&&&at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)&&&&&at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)&&&&&at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)&&&&&at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)&&&&&at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)&&&&&at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)&&&&&at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)&&&&&at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)&&&&&at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)&&&&&at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)&&&&&at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)&&&&&at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)&&&&&at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)&&&&&at java.lang.Thread.run(Unknown Source)& & &[ 此帖被yyjiaotx在 15:38重新编辑 ]
在线时间241小时
对JAVA不了解,不过从错误信息classnotfound来看,应该是java包没有配置好吧楼主留言:嗯,是Java包的问题,现在已经用maven做了,没有上面问题了。感谢大神回复。
访问内容超出本站范围,不能确定是否安全
限100 字节
批量上传需要先选择文件,再选择上传
您目前还是游客,请
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
&回复后跳转到最后一页数加&大数据分析及展现
数加&大数据应用
管理与监控
阿里云办公
培训与认证
域名与网站(万网)
数加&人工智能
数加&大数据基础服务
互联网中间件
开发者工具
对象存储 OSS
&&&&&&&&&图片处理
更新时间: 13:26:11
,是OSS对外提供的海量、安全、低成本、高可靠的图片处。用户将原始图片上传保存到OSS,通过简单的 RESTful 接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。图片处理提供图片处理接口,图片上传请使用上传接口。基于OSS图片处理,用户可以搭建自己的图片处理服务。
图片处理基础功能提供以下功能:
获取图片图片、、图片图片添加图片、文字、图文混合自定义图片处理样式,在控制台的 图片处理 -& 样式管理 中定义通过调用多个图片处理功能
图片处理使用使用标准的 HTTP GET 请求来访问,所有的处理参数是编码在 URL 中的QueyString。
匿名访问如果图片文件(Object)的访问权限是 公共读 ,如下表所示的权限,则可以匿名访问图片服务。
Bucket权限
Object权限
公共读私有写(public-read)或 公共读写(public-read-write)
默认(default)
公共读私有写(public-read)或 公共读写(public-read-write)
通过如下格式的三级域名匿名访问图片处理:
http://bucket.&endpoint&/object?x-oss-process=image/action,parame_value
bucket:用户的存储空间(bucket)名称endpoint:用户存储空间所在数据中心的访问域名object:用户上传在OSS上的图片文件image:图片处理保留标志符action:用户对图片做的操作,如缩放、裁剪、旋转等parame:用户对图片做的操作所对应的参数
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_100自定义样式,使用如下格式的三级域名匿名访问图片处理:
http://bucket.&endpoint&/object?x-oss-process=style/name
style:用户自定义样式系统保留标志符name:自定义样式名称,即控制台定义样式的 规则名
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=style/oss-pic-style-w-100通过级联处理,可以对一张图片顺序实施多个操作,格式如下:
http://bucket.&endpoint&/object?x-oss-process=image/action,parame_value/action,parame_value/...例如:
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_100/rotate,90图片服务也支持HTTPS访问,例如:
https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_100授权访问对私有权限的文件(Object),如下表所示的权限,必须通过授权才能访问图片服务。
Bucket权限
Object权限
私有读写(private)
默认权限(default)
私有读写(private)
生成带签名的图片处理的URL代码如下:
String endpoint = "&endpoint, 例如http://oss-cn-hangzhou.aliyuncs.com&";
String accessKeyId = "&accessKeyId&";
String accessKeySecret = "&accessKeySecret&";
String bucketName = "&bucketName&";
private static String key = "example.jpg";
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 图片处理样式
String style = "image/resize,m_fixed,w_100,h_100/rotate,90";
// 过期时间10分钟
Date expiration = new Date(new Date().getTime() + 1000 * 60 * 10 );
GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, key, HttpMethod.GET);
req.setExpiration(expiration);
req.setProcess(style);
URL signedUrl = ossClient.generatePresignedUrl(req);
System.out.println(signedUrl);
授权访问支持 自定义样式、 HTTPS、 级联处理指定过期时间请使用 Date expiration = DateUtil.parseRfc822Date("Wed, 21 Dec :00 GMT");
SDK访问对于任意权限的图片文件,都可以直接使用 SDK 访问图片、进行处理。
图片处理的完整代码请参考:SDK处理图片文件支持 自定义样式、 HTTPS、 级联处理
基础操作图片处理的基础操作包括,、、、、、、等。
String endpoint = "&endpoint, 例如http://oss-cn-hangzhou.aliyuncs.com&";
String accessKeyId = "&accessKeyId&";
String accessKeySecret = "&accessKeySecret&";
String bucketName = "&bucketName&";
String key = "example.jpg";
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
String style = "image/resize,m_fixed,w_100,h_100";
GetObjectRequest request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-resize.jpg"));
style = "image/crop,w_100,h_100,x_100,y_100,r_1";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-crop.jpg"));
style = "image/rotate,90";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-rotate.jpg"));
style = "image/sharpen,100";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-sharpen.jpg"));
style = "image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-watermark.jpg"));
// 格式转换
style = "image/format,png";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-format.png"));
// 图片信息
style = "image/info";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-info.txt"));
ossClient.shutdown();
自定义样式
String endpoint = "&endpoint, 例如http://oss-cn-hangzhou.aliyuncs.com&";
String accessKeyId = "&accessKeyId&";
String accessKeySecret = "&accessKeySecret&";
String bucketName = "&bucketName&";
String key = "example.jpg";
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 自定义样式
String style = "style/oss-pic-style-w-100";
GetObjectRequest request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-new.jpg"));
ossClient.shutdown();级联处理
String endpoint = "&endpoint, 例如http://oss-cn-hangzhou.aliyuncs.com&";
String accessKeyId = "&accessKeyId&";
String accessKeySecret = "&accessKeySecret&";
String bucketName = "&bucketName&";
private static String key = "example.jpg";
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 级联处理
String style = "image/resize,m_fixed,w_100,h_100/rotate,90";
GetObjectRequest request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
ossClient.getObject(request, new File("example-new.jpg"));
ossClient.shutdown();图片处理工具
可视化图片处理工具
,可以直观的看到OSS图片处理的结果OSS图片处理的功能、使用演示
阿里云对象存储服务(Object Storage Service...
云服务器(Elastic Compute Service,简称 ...
RAM (Resource Access Management)...
本文导读目录
以上内容是否对您有帮助?
更新不及时
缺少代码/图片示例
太简单/步骤待完善
更新不及时
缺少代码/图片示例
太简单/步骤待完善
感谢您的打分,是否有意见建议想告诉我们?
感谢您的反馈,反馈我们已经收到

我要回帖

更多关于 如何解决电脑蓝屏问题 的文章

 

随机推荐