近几年,云图片服务器五花八门,越来越多,有腾讯云,阿里云,又拍云,华为云等等,但是使用了这么多年,我还是感觉阿里云图片服务器oss比较稳定,访问速度也比较快,因此我在这里手把手教给你如何使用阿里云oss服务;

一、使用之前,我们还是先来搞清楚阿里云oss使用的原理吧:

其实调用方式也就两种,一种是直接客户端调用阿里云提供的服务器进行上传,一种是通过服务器间接上传,我们来分析以下优缺点吧:

上传方式 优点 缺点
直接调用 上传速度快,能直接快速上传到阿里云服务器,不需要中转 可能会不安全,暴露核心配置信息
间接调用 安全,appkey和secret不用暴露在客户端 相对安全,速度可能会有点慢

为了安全起见,我们还是采用服务端间接上传的方式,这种方式为了规避上传速度,可以在阿里云服务器端进行局域网上传。

二、下面我们就一起进入java版本的OSS上传实战中吧:

1.在项目中引用maven依赖,如果不是maven工程的,请自行到阿里云oss上面下载对应的jar;

<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>2.8.3</version>
</dependency>

2.封装对应的工具类,另外,endPoint 有两种方式,一种为服务端通过外网上传,一种为服务端通过局域网进行上传,使用的过程中可以自行选择:

public class OssUtil {//这里的配置可以在properties或者yml中进行配置@Value("${oss.accessKeyId}")private String accessKeyId;@Value("${oss.accessKeySecret}")private String accessKeySecret;@Value("${oss.bucketName}")private String bucketName;@Value("${oss.endPoint}")private  String  endPoint ;//文件直接上传的方式,filename 为定义的文件名字public void upload(File obj, String fileName) {OSSClient ossClient = null;try {ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, obj);} catch (Exception e) {e.printStackTrace();} finally {if (ossClient != null)ossClient.shutdown();}}//文件字节方式进行上传,filename 为定义的文件名字public void upload(byte[] array, String fileName) {long start = System.currentTimeMillis();OSSClient ossClient = null;try {ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret);ossClient.putObject(bucketName, fileName, new ByteArrayInputStream(array));} catch (Exception e) {e.printStackTrace();} finally {if (ossClient != null)ossClient.shutdown();log.info("上传时间:{}ms", (System.currentTimeMillis() - start));}}}

好了,进行的分享就到这里,如果还有不清楚的地方请给我留言。

阿里云OSS使用详解(java版本)相关推荐

  1. nps内网穿透服务器搭建教程(阿里云)-小宇特详解

    nps内网穿透服务器搭建教程(阿里云)-小宇特详解 前期准备 1.一台云服务器 2.配置安全组 3.在自己的电脑上安装nps 云服务器的话自己买,我这里使用的是阿里云 讲一下配置安全组 打开阿里云的官 ...

  2. 【阿里云课程】详解深度学习优化:泛化与正则化,学习率与最优化

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第6课中两节,介绍如下: 第1节:泛化与正则化 第1节课内容为:泛化与正则化,讲述泛化的概念与重要性,各种正则化方法,包括显 ...

  3. 一文读懂什么是阿里云OSS,如何使用Java操作阿里云OSS?

    一.什么是阿里云OSS OSS: Object Storage Service 对象存储服务是一种海量.安全.低成本.高可靠的云存储服务,适合存放任意类型的文件.容量和处理能力弹性扩展,多种存储类型供 ...

  4. 阿里云系列——7.阿里云IIS系列详解(过程+通用+最新)

    网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 先讲IIS系列,Linux部署以后再继续讲 先打开主机管理平台,确认域名绑定 ...

  5. Aliyun 阿里云 机器翻译调用 详解

    我在使用Aliyun 阿里云 ACS 机器翻译时遇到了SignatureDoesNotMatch 再次记录一下我的解决办法 也为其他遇到同样问题的伙伴指路 总体上来说阿里的文档做的不好,因此遇到不少困 ...

  6. 【阿里云课程】详解深度学习优化:参数初始化,激活函数,标准化,池化

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第6课中两节,介绍如下: 第1节:激活函数与参数初始化 第1节课内容为:卷积神经网络的上篇,简单介绍卷积神经网络的生物学机制 ...

  7. 阿里云域名注册详解与Github绑定

    关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 今教一篇如何注册域名,拥有自己的域名是不是很爽呢?答案是是的,那 ...

  8. 云堡垒机的作用_阿里云堡垒机详解

    阿里云堡垒机基于协议正向代理实现,对SSH.Windows远程桌面.SFTP等常见运维协议的 数据流进行全程记录,再通过协议数据流重组的方式进行录像回放,达到运维审计的目的. 堡垒机优势 审计合规 满 ...

  9. 第一次登录阿里云服务器ECS详解及利用MSTSC,XShell,XFTP进行连接

    目录 一.配置规则 二.登录连接 0. 重置实例密码 1. 网页远程连接--不支持文件传输 1.1 workbench连接 1.2 VNC连接 1.3 workbench 与 VNC 的区别 2. 利 ...

  10. Java使用阿里云OSS对象存储上传图片

    示例说明   该案例是OSS Java SDK的示例程序,您可以修改endpoint.accessKeyId.accessKeySecret.bucketName后直接运行. 本示例中的并不包括OSS ...

最新文章

  1. mysql c where_mysql where条件语句优化笔记
  2. Java的数组集合概括
  3. 基于pygame的射击小游戏制作(四)击杀外星人
  4. 前端学习(1551):补充cloak
  5. Oracle修改表存储参数,Oracle存储结构之参数文件
  6. SysLink UserGuide
  7. Oracle 在SQL语句中如何获取系统当前时间并进行操作
  8. js的MDS代码multidimensional-scaling
  9. “您未安装Flash控件”解决方法
  10. 没有音响,把手机当作电脑音响的操作。
  11. 解决adb shell root权限
  12. 论文的系统 排版软件Latex
  13. tortoise-orm连接多个数据库
  14. 关于“无穷”的概念---数学笔记“无穷”
  15. android 4.4.3和4.4.4,刷机大师V3.4.4发布 完美支持一加、红牛等Android 4.4系统
  16. 关于湖南卫视正在播放的TVB剧
  17. mysql的print用法_e.printStackTrace();和log.error()的区别和用法
  18. 洛谷 P1010 递归
  19. 二次函数图像怎么画?
  20. GitHub——创建自己的代码仓库

热门文章

  1. 修改 QQ 任务栏托盘区小图标和等级图标
  2. 闲人闲谈ERP项目逸事——德国做SAP项目回忆
  3. YUV/YIQ色彩空间的转换
  4. 运行Rundll.exe
  5. Robot Rapping Results Report CodeForces - 645D
  6. linux下nginx配置访问静态图片的解决办法
  7. 耦合是什么?如何做到解耦?
  8. linux如何关闭netbios服务,Samba 'nmbd' NetBIOS名称服务守护程序拒绝服务漏洞
  9. 声律启蒙(上 下卷,珍藏版)
  10. 固态硬盘数据丢失能恢复吗?含泪分享:固态硬盘数据恢复方法