当前位置: 首页 > news >正文

各平台对象存储

一、阿里云对象存储

官方文档:https://help.aliyun.com/zh/oss/getting-started/getting-started-with-oss?spm=a2c4g.11186623.0.0.299a646c6nWWcW

1.引入maven

官网:https://help.aliyun.com/zh/oss/developer-reference/java-installation?spm=a2c4g.11186623.0.i12

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

如果使用的是Java 9及以上的版本,则需要添加JAXB相关依赖。添加JAXB相关依赖示例代码如下:

<dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.1</version>
</dependency>
<dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version>
</dependency>
<!-- no more than 2.3.3-->
<dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.3</version>
</dependency>

2.Endpoint地址获取

在这里插入图片描述

3.环境变量配置

官网:https://help.aliyun.com/zh/oss/developer-reference/oss-java-configure-access-credentials?spm=a2c4g.11186623.0.i14
以windows为例,配置之后重启idea工具(我这配置之后没生效,重启之后生效)
在这里插入图片描述

4.工具类

package com.dcqq.common.utils;import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;public class AliYunOssUtil {// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。private static String endpoint = "https://oss-cn-beijing.aliyuncs.com";// 填写Bucket名称,例如examplebucket。private static String bucketName = "examplebucket";private static String url = "https://"+bucketName+".oss-cn-beijing.aliyuncs.com/";/*** 文件上传* @param bytes* @param objectName 阿里云存储文件的位置,包括文件名,不包含存储桶bucket名称,如:upload/1.png ,注意:upload前面不能有斜杠* @return* @throws Exception*/public static String upload(byte[] bytes,String objectName) throws Exception {// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRETEnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();//创建OSSClient实例OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(bytes));return url+objectName;}public static void main(String[] args) throws Exception {File file=new File("C:\\图片\\1.png");FileInputStream fileInputStream=new FileInputStream(file);byte[] fileBytes = new byte[(int) file.length()];fileInputStream.read(fileBytes);upload(fileBytes,"upload/1.png");}
}

5.linux如果读取不到环境变量

方式一:宝塔项目一键部署启动

参考:https://www.bt.cn/bbs/thread-126121-1-1.html

在这里插入图片描述

sudo -u root nohup env OSS_ACCESS_KEY_ID=123 env OSS_ACCESS_KEY_SECRET=223 /usr/java/jdk1.8.0_121/bin/java -jar /www/wwwroot/test/test-admin.jar --server.port=8082 >> /tmp/KRM2N4GAM8.log 2>&1 & 

在这里插入图片描述

方式二:直接在终端用命令启动,可以获取到环境变量

命令启动:

nohup java -jar /www/wwwroot/admin.jar>> /www/wwwroot/logs/info.log 2>&1 &

脚本启动:
http://t.csdnimg.cn/JGsNT

相关文章:

  • Spring @Transactional 事务注解
  • SQL入门教程
  • 提高篇(八):扩展Processing功能:从库使用到跨平台应用
  • 鸿蒙开发接口数据管理:【@ohos.data.distributedDataObject (分布式数据对象)】
  • 总结开发过程遇到问题有哪些渠道可以寻找解决方案
  • 遗址博物馆ar互动展示软件提供丰富的趣味化体验
  • springboot编写简述01
  • linux的编辑安装
  • 基于JSP技术的社区疫情防控管理信息系统
  • 车载开发之预置无源码apk到Android系统(带so文件)
  • 【JavaScript】【分享】关于this
  • CSS实现一个雨滴滑落效果
  • 新奇css模板
  • Java/Golang:活用interface,增加程序扩展性
  • 堆和栈的空间利用率
  • Bytom交易说明(账户管理模式)
  • java多线程
  • npx命令介绍
  • Python_网络编程
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • React as a UI Runtime(五、列表)
  • 关于for循环的简单归纳
  • 解析 Webpack中import、require、按需加载的执行过程
  • 开源地图数据可视化库——mapnik
  • 算法系列——算法入门之递归分而治之思想的实现
  • 线上 python http server profile 实践
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #android不同版本废弃api,新api。
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (JS基础)String 类型
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (杂交版)植物大战僵尸
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .net mvc 获取url中controller和action
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net流程开发平台的一些难点(1)
  • .NET学习教程二——.net基础定义+VS常用设置
  • @ConditionalOnProperty注解使用说明
  • [1181]linux两台服务器之间传输文件和文件夹
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [20150707]外部表与rowid.txt
  • [C#C++]类CLASS
  • [CF]Codeforces Round #551 (Div. 2)
  • [CSS]文字旁边的竖线以及布局知识
  • [echarts] y轴不显示0
  • [HNCTF 2022 WEEK2]easy_include 文件包含遇上nginx
  • [LeetCode]—Anagrams 回文构词法