编辑: f19970615123fa | 2017-09-16 |
// 获取指定文件的输入流 File file = new File(filePath);
InputStream content = new FileInputStream(file);
// 创建上传Object的Metadata ObjectMetadata meta = new ObjectMetadata();
// 必须设置ContentLength meta.setContentLength(file.length());
// 上传Object. PutObjectResult result = client.putObject(bucketName, key, content, meta);
// 打印ETag System.out.println(result.getETag());
} public void listObjects(String bucketName) { // 初始化OSSClient OSSClient client = new OSSClient(endpoint,accessKeyId, accessKeySecret);
// 获取指定bucket下的所有Object信息 ObjectListing listing = client.listObjects(bucketName);
// 遍历所有Object for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) { System.out.println(objectSummary.getKey());
} } 对象存储OSS/SDK手册
3 listObjects方法会返回ObjectListing对象,ObjectListing对象包含了此次listObject请求的返回结果.其中我 们可以通过ObjetListing中的getObjectSummaries方法获取所有Object的描述信息. Step-5. 获取指定Object 您可以参考下面的代码简单地实现一个Object的获取: 当调用OSSClient的getObject方法时,会返回一个OSSObject的对象,此对象包含了Object的各种信息.通过OSSObject的getObjectContent方法,可以获取返回的Object的输入流,通过读取此输入流获取此 Object的内容,在用完之后关闭这个流. OSSClient OSSClient OSSClient是OSS服务的Java客户端,它为调用者提供了一系列的方法,用于和OSS服务进行交互. 新建OSSClient 新建一个OSSClient很简单,如下面代码所示: 关键需要传入AccessKey以及需要访问bucket的endpoint.如果想使用HTTPS协议,endpoint以https://开头 即可. 配置OSSClient 如果您想配置OSSClient的一些细节的参数,可以在构造OSSClient的时候传入ClientConfiguration对象. ClientConfiguration是OSS服务的配置类,可以为客户端配置代理,最大连接数等参数. 使用代理 public void getObject(String bucketName, String key) throws IOException { // 初始化OSSClient OSSClient client = new OSSClient(endpoint,accessKeyId, accessKeySecret);
// 获取Object,返回结果为OSSObject对象 OSSObject object = client.getObject(bucketName, key);
// 获取Object的输入流 InputStream objectContent = object.getObjectContent();
// 处理Object ... // 关闭流 objectContent.close();
} String key = ;
String secret = ;
// 以杭州为例 String endpoint = http://oss-cn-hangzhou.aliyuncs.com ;
OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
对象存储OSS/SDK手册
4 下面的代码让客户端使用代理访问OSS服务: 上面代码使得客户端的所有操作都会使用127.0.0.1地址的8080端口做代理执行.对于有用户验证的代理,可以 配置用户名和密码: 设置网络参数 我们可以用ClientConfiguration设置一些网络参数: 通过ClientConfiguration可以设置的参数有: // 创建ClientConfiguration实例 ClientConfiguration conf = new ClientConfiguration();
// 配置代理为本地8080端口 conf.setProxyHost( 127.0.0.1 );
conf.setProxyPort(8080);
// 创建OSS客户端 client = new OSSClient(endpoint, accessKeySecret, accessKeySecret, conf);
// 创建ClientConfiguration实例 ClientConfiguration conf = new ClientConfiguration();
// 配置代理为本地8080端口 conf.setProxyHost( 127.0.0.1 );
conf.setProxyPort(8080);
//设置用户名和密码 conf.setProxyUsername( username );
conf.setProxyPassword( password );
ClientConfiguration conf = new ClientConfiguration();