步骤

  1.初始化ossClient实例

  2.判断bucket是否存在(doesBucketExist)

  3.上传图片(putObject(bucket,key,file))(注意:key是图片所在的路径+图片名,例如:aa\aa.jpg)

  4.查看所有的object(listObjects)

  5.删除图片(deleteObject)

  6.将图片下载本地

  

    GetObjectRequest getObjectRequest = new GetObjectRequest(ossContants.BUCKET_NAME, "aa/aa.jpg");
ObjectMetadata objectMetadata = ossClient.getObject(getObjectRequest, new File("d:\\aa.jpg"));

  7.获取Oss的访问地址

    /**
* 获得url链接
*
* @param key
* @return
*/
public static String getUrl(String key) {
// 设置URL过期时间为10年 3600l* 1000*24*365*10
Date expiration = new Date(new Date().getTime() + 3600l * 1000 * 24 * 365 * 10);
// 生成URL
URL url = ossClient.generatePresignedUrl(ossContants.BUCKET_NAME, "aa/aa.jpg", expiration);
if (url != null) {
return url.toString();
}
return null;
}

  8.所用到的参数类

public class ossContants {

    public static final String ACCESSKEYID="aa";

    public static final String ACCESSKEYSECRET="aa";

    public static final String ENDPOINT="aa";//域

    public static final String BUCKET_NAME="aa";

    //上传object
public static void putObject(String bucketName, String key, String filePath) throws FileNotFoundException {
// 初始化OSSClient
OSSClient client = new OSSClient(ENDPOINT,ACCESSKEYID, ACCESSKEYSECRET,getConf());
// 获取指定文件的输入流
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());
} //获取bucket中的所有的object
public static ObjectListing listObjects(String bucketName) {
// 初始化OSSClient
OSSClient client = new OSSClient(ENDPOINT,ACCESSKEYID, ACCESSKEYSECRET,getConf());
// 获取指定bucket下的所有Object信息
ObjectListing listing = client.listObjects(bucketName);
// 遍历所有Object return listing; } /**
* 使用代理创建OSSClient,并设置网络参数
* ClientConfiguration对象:设置代理ip、端口、及其网络参数
*
* @return
*/
public static ClientConfiguration getConf() { // 创建ClientConfiguration实例,根据需要修改默认参数
ClientConfiguration conf = new ClientConfiguration(); try {
// 开启支持CNAME选项
conf.setSupportCname(false); // // 配置代理为本地8080端口
// conf.setProxyHost("127.0.0.1");
// conf.setProxyPort(8080);
//
// //设置用户名和密码
// conf.setProxyUsername("username");
// conf.setProxyPassword("password");
//
// // 设置OSSClient使用的最大连接数,默认1024
// conf.setMaxConnections(200);
//
// // 设置Socket传输数据超时的时间为2000毫秒,默认50秒
conf.setSocketTimeout(10000);
//
// // 设置失败请求重试次数,默认3次
conf.setMaxErrorRetry(5);
//
// // 设置TCP连接超时为5000毫秒
conf.setConnectionTimeout(5000*2); } catch (Exception e) { e.printStackTrace(); } return conf;
}
}

OSS 实例的更多相关文章

  1. angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)

    2015-10-26 angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前 ...

  2. STS临时授权访问OSS

    STS临时授权访问OSS OSS 可以通过阿里云 STS (Security Token Service) 进行临时授权访问.阿里云 STS 是为云计算用户提供临时访问令牌的Web服务.通过 STS, ...

  3. 阿里云OSS整合

    一.对象存储OSS 为了解决海量数据存储与弹性扩容(主要是静态文件的存储例如图片,语音,视频等),项目中我们通常采用云存储的解决方案- 阿里云OSS. 1.开通"对象存储OSS"服 ...

  4. 整合阿里云OSS

    整合阿里云OSS 一.对象存储OSS 为了解决海量数据存储与弹性扩容,采用云存储的解决方案- 阿里云OSS. 1.开通"对象存储OSS"服务 (1)申请阿里云账号 (2)实名认证 ...

  5. 使用ECS和OSS搭建个人网盘

    体验简介 本场景将提供一台配置了Centos 7.7版本的ECS实例(云服务器)和对象存储OSS实例.通过本教程的操作,您可以基于ECS和OSS快速搭建一个个人网盘. 体验此场景后,可以掌握的知识有: ...

  6. 谷粒 | 10 | 阿里云OSS存储对象服务

    阿里云OSS对象存储服务 准备工作 1.在service模块新建子模块service_oss 2.引入pom.xml文件中引入oss服务依赖 <dependencies> <!--a ...

  7. InfluxDB(官方使用说明)

    安装InfluxDB OSS 此页面提供有关安装,启动和配置InfluxDB的说明. InfluxDB OSS安装要求 root为了成功完成,需要安装InfluxDB软件包或具有管理员权限. Infl ...

  8. js使用WebUploader做大文件的分块和断点续传

    1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...

  9. php+超大文件上传

    1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...

随机推荐

  1. SAP FI 常用表

    SAP FI 常用表 GL 部分: FAGLFLEXT 新总账汇总表 GLT0 旧总帐汇总表 SKA1 总账科目主记录 (科目表) 科目表层数据 SKAT 总帐科目主记录(科目表:说明) 包括语言代码 ...

  2. repr() 和 str() 函数

    这两个函数都是可以用来将值转换成字符串的. 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式. 结果是:

  3. python学习 day016打卡 面向对象--成员

    本节主要内容: 1.类的成员 2.类的成员-变量 3.类的成员-方法 4.类的成员-属性 5.私有 一.类的成员: 能在类中写的内容就是类的成员. class 类名: #方法 def __init__ ...

  4. C++类的大小——sizeof(class)

    第一:空类的大小 class CBase { }; 运行cout<<"sizeof(CBase)="<<sizeof(CBase)<<endl; ...

  5. 【一】php 基础知识

    1 php标记,<?php php代码 ?> 2 注释:代码的解释和说明 多行注释 /**/ 单行注释 //.# 3“.”连接符 echo "hello".date(& ...

  6. 小tip: margin:auto实现绝对定位元素的水平垂直居中

    转载自:http://www.zhangxinxu.com/wordpress/?p=3794 一.绝对定位元素的居中实现 如果要问如何CSS实现绝对定位元素的居中效果,很多人心里已经有答案了. 兼容 ...

  7. Vs自定nuget push菜单

    1.需要准备 nuget.exe 和 nuget-push.cmd 命名行 nuget.ext 下载地址:https://files.cnblogs.com/files/liuxiaoji/nuget ...

  8. ORA-03113: end-of-file on communication channel(归档满处理方法)

    归档放在flash_recovery目录,由于归档占满了闪回目录,数据库启动报错ORA-03113: end-of-file on communication channel tail -1200f ...

  9. vue模板编译

    Vue 的模板编译是在 $mount 的过程中进行的,在 $mount 的时候执行了 compile 方法来将 template 里的内容转换成真正的 HTML 代码. complie 最终生成 re ...

  10. Cocos Creator 智能提示 for WebStorm

    0.首先下载安装Node.js,否则下面将找不到关于Node.js的设置选项. 1.智能提示设置File->Settings ①设置为最新的ECMAScript版本 ②Enable Node.j ...