物联网架构成长之路(18)-接阿里云OSS服务
2024-10-15 13:42:06
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
同时支持HTTPS
如果访问的文件(Key)不存在
3.文件上传/下载流程
对应到公司实际项目上
最新文章
- Mac上自带的Apache介绍
- constraint更新表列约束默认值
- SQL Server session故障排查
- INDY idhttp Post用法
- 用python实现k近邻算法
- 百度文本编辑器 Ueditor for net 使用七牛存储附件的实现
- STL -->; find()和find_if()
- LeetCode 2
- 开发Nginx模块Helloworld
- Windows系统下 Python(Anaconda)的 Dlib库 的安装
- vue中 v-show和v-if的区别?
- Go语言学习笔记-函数部分(三)
- ZoomCharts
- 移动电力猫HG260GT pon实现路由拨号
- 性能优化系列八:MYSQL的配置优化
- Event(事件)
- 面向对象设计模式_生成器模式解读(Builder Pattern)
- 论文笔记——Deep Model Compression Distilling Knowledge from Noisy Teachers
- think php模板的使用
- 两种实现光标点插入range
热门文章
- 【noip模拟赛4】Matrix67的派对 dfs
- 【Java】 剑指offer(24) 反转链表
- [OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (一)
- Unicode字符编码表(转)
- Linux学习之分区自动挂载与fstab文件修复(九)
- centos 支持复制与粘贴
- C++雾中风景11:厘清C++类型转换(static_cast,dynamic_cast,reinterpret_cast,const_cast)
- LoRaWAN 1.1 网络协议规范 - 4 MAC 帧格式 Part II
- 利用python计算多边形面积
- SQLite中的SELECT子句使用通配符