物联网架构成长之路(18)-接阿里云OSS服务

时间:2022-09-16 16:49:33

1.申请/购买OSS服务

  在阿里云上申请/购买OSS服务, 然后在会得AccessKeyID,AccessKeySecret,bucketName 这三个东西

2.增删改查

  在pom.xml文件上增加

 <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.0.0</version>
</dependency>

  上传/下载代码

 public class OSSUploadFile {
public static String endpoint = "http://oss-cn-shenzhen.aliyuncs.com";
public static String accessKeyId = "L*****************";
public static String accessKeySecret = "4********************c";
public static String bucketName = "io****e"; /**
* 上传文件到阿里云OSS
* @param file 本地文件对象
* @param key oss对于url
* @return
*/
public static boolean uploadFile(File file, String key) {
OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
client.putObject(new PutObjectRequest(bucketName, key, file));
client.setObjectAcl(bucketName, key, CannedAccessControlList.PublicRead);
client.setObjectAcl(bucketName, key, CannedAccessControlList.Default);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 删除阿里云OSS上文件
* @param key
* @return
*/
public static boolean deleteFile(String key) {
try {
OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
boolean exists = client.doesObjectExist(bucketName, key);
if(exists) {
client.deleteObject(bucketName, key);
}
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}

  上传完文件后,可以通过以下连接进行访问

  http://bucketName.oss-cn-shenzhen.aliyuncs.com/demo.txt

  其中 bucketName 是需要自己申请的, 后面的demo.txt 文件名是在上传文件是指定的key

物联网架构成长之路(18)-接阿里云OSS服务

  同时支持HTTPS

物联网架构成长之路(18)-接阿里云OSS服务

  如果访问的文件(Key)不存在

物联网架构成长之路(18)-接阿里云OSS服务

3.文件上传/下载流程

  对应到公司实际项目上

物联网架构成长之路(18)-接阿里云OSS服务

物联网架构成长之路(18)-接阿里云OSS服务的更多相关文章

  1. 物联网架构成长之路&lpar;22&rpar;-Docker练习之Etcd服务搭建

    0. 前言 时隔多日,前段时间忙完一个可有可无的项目后,又进入摸鱼时间,没有办法,非互联网公司,就是闲得蛋疼.又开始了自学之路.以前入门过Docker,然后又很久没有看了,最近重新看了一下,推荐一下这 ...

  2. 物联网架构成长之路&lpar;30&rpar;-Spring Boot Admin微服务WebUI监控

    0. 前言 一个完整的微服务解决方案包含了许多微服务,基于我们需要观察各个微服务的运行状态,因此Spring Boot 生态提供了Spring Boot Admin 这个组件来实现微服务管理WEB U ...

  3. 物联网架构成长之路&lpar;23&rpar;-Docker练习之Elasticsearch服务搭建

    0. 前言 最近基本都是学一些环境配置,和一些中间件的安装与配置.没有实际编写代码.可能看起来有点水,我对自己的学习方式是,先要了解各个中间件的安装配置以及简单使用,理论应用场景,然后我在小项目中,逐 ...

  4. 物联网架构成长之路&lpar;25&rpar;-Docker构建项目用到的镜像1

    0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联 ...

  5. 物联网架构成长之路&lpar;31&rpar;-EMQ基于HTTP权限验证

    看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现 ...

  6. Python使用阿里云OSS服务

    Python使用阿里云OSS服务 前言: 在远程搭建了一个平台,通过改远程平台进行数据的采集,需要将数据内容传送至本地进行处理:为了实现该功能,考虑了阿里云的OSS对象储存的服务. 40G包月只需1元 ...

  7. ECS上nginx搭建反向代理通过内网访问阿里云OSS服务

    对于付不起钱的小伙计,为了给公司省钱,想尽一切招数.今天就来分享一个使用阿里云OSS存储搭配CDN使用的网站服务器部署方法. 简介 阿里云OSS 阿里云提供的一种文件存储方案,和我们以前接触的百度云B ...

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

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

  9. 物联网架构成长之路&lpar;16&rpar;-SpringCloud从入门到吹水

    1.前言 Spring Cloud 现在比较流行,版本更新也是蛮快的,网上资料也是很多.很多参考网上资料就可以学到了.这里给个 http://blog.csdn.net/forezp/article/ ...

随机推荐

  1. linux 查看占用内存&sol;CPU最多的进程

    可以使用一下命令查使用内存最多的5个进程 ps -aux | sort -k4nr | head -n 5 或者 top (然后按下M,注意大写) 可以使用一下命令查使用CPU最多的5个进程 ps - ...

  2. double-clicking

    <!doctype html> <button id="id0" onclick="w('id0','str0')">target0&l ...

  3. &lbrack;转载&rsqb; 分析Linux内核创建一个新进程的过程

    http://blog.luoyuanhang.com/2015/07/27/%E5%88%86%E6%9E%90Linux%E5%86%85%E6%A0%B8%E5%88%9B%E5%BB%BA%E ...

  4. js为select添加option

    <select id="shi"> function loadInfo(){ var shengId=document.getElementById("she ...

  5. php header&lpar;&rpar;跳转

    test1.php <?PHP $g_user = "Jack"; echo $g_user; ?> test3.php <?PHP header('Locati ...

  6. VS2017专业版和企业版激活密钥

    VS2017专业版和企业版激活密钥 Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q ...

  7. 有关 Azure 机器学习的 Net&num; 神经网络规范语言的指南

    Net# 是由 Microsoft 开发的一种用于定义神经网络体系结构的语言. 使用 Net# 定义神经网络的结构使定义复杂结构(如深层神经网络或任意维度的卷积)变得可能,这些复杂结构被认为可提高对数 ...

  8. 【BZOJ2245】&lbrack;SDOI2011&rsqb;工作安排(费用流)

    [BZOJ2245][SDOI2011]工作安排(费用流) 题面 BZOJ 洛谷 题解 裸的费用流吧. 不需要拆点,只需要连边就好了,保证了\(W_j<W_{j+1}\). #include&l ...

  9. 提升HTML5的性能体验系列之五 webview启动速度优化及事件顺序解析

    webview加载时有5个事件.触发顺序为loading.titleUpdate.rendering.rendered.loaded.webview开始载入页面时触发loading,载入过程中如果&l ...

  10. confluence导出pdf 文字显示不全

    当使用confluence编辑页面时,当一行的文字过多,且中间没什么逗号分隔时,有时会出现导出的pdf文件中,这一行显示的文字不全的情况. 如: 很明显费用的费字没有显示完全,且后面还有其他的字. 可 ...