物联网架构成长之路(18)-接阿里云OSS服务
Posted 无脑仔的小明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物联网架构成长之路(18)-接阿里云OSS服务相关的知识,希望对你有一定的参考价值。
1.申请/购买OSS服务
在阿里云上申请/购买OSS服务, 然后在会得AccessKeyID,AccessKeySecret,bucketName 这三个东西
2.增删改查
在pom.xml文件上增加
1 <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss --> 2 <dependency> 3 <groupId>com.aliyun.oss</groupId> 4 <artifactId>aliyun-sdk-oss</artifactId> 5 <version>3.0.0</version> 6 </dependency>
上传/下载代码
1 public class OSSUploadFile { 2 public static String endpoint = "http://oss-cn-shenzhen.aliyuncs.com"; 3 public static String accessKeyId = "L*****************"; 4 public static String accessKeySecret = "4********************c"; 5 public static String bucketName = "io****e"; 6 7 /** 8 * 上传文件到阿里云OSS 9 * @param file 本地文件对象 10 * @param key oss对于url 11 * @return 12 */ 13 public static boolean uploadFile(File file, String key) { 14 OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); 15 try { 16 client.putObject(new PutObjectRequest(bucketName, key, file)); 17 client.setObjectAcl(bucketName, key, CannedAccessControlList.PublicRead); 18 client.setObjectAcl(bucketName, key, CannedAccessControlList.Default); 19 return true; 20 } catch (Exception e) { 21 e.printStackTrace(); 22 } 23 return false; 24 } 25 /** 26 * 删除阿里云OSS上文件 27 * @param key 28 * @return 29 */ 30 public static boolean deleteFile(String key) { 31 try { 32 OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); 33 boolean exists = client.doesObjectExist(bucketName, key); 34 if(exists) { 35 client.deleteObject(bucketName, key); 36 } 37 return true; 38 } catch (Exception e) { 39 e.printStackTrace(); 40 } 41 return false; 42 } 43 }
上传完文件后,可以通过以下连接进行访问
http://bucketName.oss-cn-shenzhen.aliyuncs.com/demo.txt
其中 bucketName 是需要自己申请的, 后面的demo.txt 文件名是在上传文件是指定的key
同时支持HTTPS
如果访问的文件(Key)不存在
3.文件上传/下载流程
对应到公司实际项目上
以上是关于物联网架构成长之路(18)-接阿里云OSS服务的主要内容,如果未能解决你的问题,请参考以下文章
物联网架构成长之路(35)-利用Netty解析物联网自定义协议
物联网架构成长之路(58)-用户与应用服务器之WebSocket通信
物联网架构成长之路(59)-SpringBoot项目作为系统应用,自启动
物联网架构成长之路(23)-Docker练习之Elasticsearch服务搭建