文件存储(阿里云OSS)的实现

简介

文件包括:视频、音频、图片等。我们一般在开发的过程中,会将文件存储在本地,但是这种情况下会遇到性能的瓶颈、磁盘爆满等问题。那么我们就需要给文件重新找一个存储的位置就是云上。此篇介绍阿里云的文件存储的实现

1、阿里云对象存储的介绍

是一款海量、安全、低成本、高可靠的云存储服务。使用OSS,您可以通过网络随时存储和调用各种文件

2、阿里云的使用步骤: 

bucket:存储空间是用户用于存储对象的容器,所有的对象都必须隶属于某个存储空间

第一步:注册并实名认证

第二步:注册完成后,进入搜索OSS

第三步:搜索出来后,点击立即开通(新用户可以免费使用一段时间)

第四步:如果是开通过的立即开通就会变成管理控制台,完后点击管理控制台,就会进入下面的页面

第五步:我们点击Bucket(这个前面已经介绍过),来创建一个Bucket。

 

第六步:点击点击创建Bucket来创建一个容器,下面是创建时的注意事项

 创建时只需要设置这几个属性,其他的就不需要再设置了。最后点击下面的完成创建即可 

经过上面的步骤我们就创建了一个容器

第七步:实现java开发过程中一些资源上传到阿里云的OSS上

        1、配置AccessKey(密钥),点击头像--->再点击AccessKey管理

        2、如果有可以继续使用,没有就点击创建

        3、配置 AK和SK  ,就是以管理员的身份运行cmd,执行如下命令,配置系统的环境变量
                

set OSS_ACCESS_KEY_ID=你的key

set OSS_ACCESS_KEY_SECRET=你的密码

     4、执行完上述命令后,再执行下面的命令,让其更改生效
                

setx OSS_ACCESS_KEY_ID  "%OSS_ACCESS_KEY_ID%"

setx OSS_ACCESS_KEY_SECRET  "%OSS_ACCESS_KEY_SECRET%"

        5、验证一下环境变量是否生效

echo %OSS_ACCESS_KEY_ID%

echo %OSS_ACCESS_KEY_SECRET%

配置完环境变量后,我们需要重新加载IDEA才能生效

3、阿里云OSS的入门案例

这个案例阿里云给我提供了,我们只需要下载SDK,里面就包含了案例的信息

这个SDK里面就包含了各种开发语言的包,我们查看文档即可,文档就包含了如何配置等功能,根据实际的项目需求来查看不同的文档

 

 第一步:在我们的项目中引入依赖

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

【注意】还需要引入这几个依赖

第二步:Java配置访问凭证

使用Java SDK发起OSS请求,您需要配置访问凭证。阿里云服务会通过访问凭证验证您的身份信息和访问权限。我们在前面已经配置过了

 第三步:查看文档根据项目的不同需求,来参考不同代码。完后在IDEA中建一个测试的包,导入即可。

第四步:更改代码配置,把官方代码配置成自己的,有以下几处是需要更改的

第五步:就可以上传图片到阿里云了

4、阿里云上传文件结合Java的实际项目

在实际的项目开发中,可能将图片上传到不同云平台上,但是又不想了解每一个平台代码示例等,此处就有一个强大的文件存储神器----- X File Storage,不同的平台只需要修改配置文件即可,不需要太多的工具类就可以实现文件的存储。

官网:lX File Storage

我们访问官网点击快速入门就可以使用这个工具        快速入门 (xuyanwu.cn)

 5、 X File Storage使用步骤:

第一步:导入依赖(这个一般都是抽出一个公共的模块来)

<dependency><groupId>org.dromara.x-file-storage</groupId><artifactId>x-file-storage-spring</artifactId><version>2.2.0</version>
</dependency>

第二步:配置application.yml 配置文件

 

第三步:要想让配置文件生效,在启动类上加一个@EnableFileStorage的注解

第四步:根据官网选择你要的代码

/*** 通用上传请求(单个)*/@PostMapping("/upload")public AjaxResult uploadFile(MultipartFile file) throws Exception{try{FileInfo fileInfo = fileStorageService.of(file).setPath(objectName).upload();AjaxResult ajax = AjaxResult.success();ajax.put("url", fileInfo.getUrl());ajax.put("fileName", fileInfo.getUrl());ajax.put("newFileName", fileInfo.getUrl());ajax.put("originalFilename", file.getOriginalFilename());return ajax;}catch (Exception e){return AjaxResult.error(e.getMessage());}}

经过上述步骤就可以实现文件的上传了

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/39388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis入门の基础操作

1 Mybatis概述 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解&#xff0c;将接口和 Java 的 POJOs(Plain Old Java Objects,普通的…

# mysql 中文乱码问题分析

mysql 中文乱码问题分析 一、问题分析&#xff1a; MySQL 中文乱码通常是因为字符集设置不正确导致的。MySQL 有多种字符集&#xff0c;如 latin1、utf8、utf8mb4 等&#xff0c;如果在创建数据库、数据表或者字段时没有指定正确的字符集&#xff0c;或者在插入数据时使用了与…

Go语言特点、编译及命令

本文主要分为三部分内容分别为&#xff1a;Go语言的特点介绍&#xff1b;编译windows、linux环境文件及Go命令。 目录 Go语言特点 编译文件 编译window文件 编译linux文件 Go命令&#xff08;build/run/install/env&#xff09; 编译文件 直接运行程序 安装程序 配置G…

PG实践|内置函数之GENERATE_SERIES之深入理解(二)

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

#LinuxC高级 笔记二

makefile gcc gdb makefile 1. 分文件编程 1.1 源文件&#xff1a;.c结尾的文件 包含main函数的.c 包含子函数的.c 1.2 头文件&#xff1a;.h结尾的文件 头文件、宏定义、typedef 、结构体、共用体、枚举、函数声明 include引用时“”和<>的区别&#xff1a; <>去系…

Java:JDK、JRE和JVM 三者关系

文章目录 一、JDK是什么二、JRE是什么三、JDK、JRE和JVM的关系 一、JDK是什么 JDK&#xff08;Java Development Kit&#xff09;&#xff1a;Java开发工具包 JRE&#xff1a;Java运行时环境开发工具&#xff1a;javac&#xff08;编译工具&#xff09;、java&#xff08;运行…

23432443

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

聚四氟乙烯消解管/PTFE四氟消化管/配套各厂家石墨消解仪

四氟消解瓶&#xff0c;通常指的是采用聚四氟乙烯&#xff08;PTFE&#xff0c;也称为特氟龙或铁氟龙&#xff09;材料制成的实验室消解容器。 以下是关于四氟消解瓶的一些基本信息&#xff1a; 材质特性&#xff1a; 四氟消解瓶由PTFE材料制成&#xff0c;具有极佳的耐腐蚀…

Python脚本:将Word文档转换为Excel文件

引言 在文档处理中&#xff0c;我们经常需要将Word文档中的内容转换成其他格式&#xff0c;如Excel&#xff0c;以便更好地进行数据分析和报告。针对这一需求&#xff0c;我编写了一个Python脚本&#xff0c;能够批量处理指定目录下的Word文档&#xff0c;将其内容结构化并转换…

PTrade如何获取技术值班?如get_RSI - 相对强弱指标;PTrade量化软件如何获取?

get_RSI - 相对强弱指标 get_RSI(close, n6) 使用场景 该函数仅在回测、交易模块可用 接口说明 获取相对强弱指标RSI指标的计算结果 PTrade是恒生公司开发的一款专业量化软件&#xff0c;部分合作券商可提供&#xff0c;↑↑↑&#xff01; 参数 close&#xff1a;价格…

.NET发布成单个文件后获取不到程序所在路径的问题

.net程序不发布成单个文件&#xff0c;所以运行都是正常的&#xff0c;但是发布成单个文件后发现使用&#xff1a; var basePath Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)); 获取不到应用程序所在的路径了。 找一下几个获取本程…

从混乱到有序:企业级在线文档助力中小企业数字化转型的蜕变

在当今数字化浪潮下&#xff0c;企业的数字化转型已成为行业发展的必然趋势。他们数字化转型的痛点在哪里&#xff1f;资金有限、技术人才短缺和管理的复杂性等。很多时候&#xff0c;它们的文件管理比较混乱&#xff0c;大量的知识和数据分散在不同的系统&#xff0c;形成了数…

Web后端开发概述环境搭建项目创建servlet生命周期

Web开发概述 web开发指的就是网页向后再让发送请求,与后端程序进行交互 web后端(javaEE)程序需要运行在服务器中 这样前端才可以对其进行进行访问 什么是服务器? 解释1: 服务器就是一款软件,可以向其发送请求,服务器会做出一个响应.可以在服务器中部署文件&#xff0c;让…

MySQL:MySQL总结

文章目录 MySQL思维导图基础实际在 Innodb 存储引擎中&#xff0c;会用一个特殊的记录来标识最后一条记录&#xff0c;该特殊的记录的名字叫 supremum pseudo-record &#xff0c;所以扫描第二行的时候&#xff0c;也就扫描到了这个特殊记录的时候&#xff0c;会对该主键索引加…

OpenCV 张正友标定法(二)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 在之前的博客OpenCV 张氏标定法中,我们没有考虑镜头畸变等因素,因此计算出的内参与外参均是理想情况下的数值,而如果我们考虑到镜头的畸变: 我们就需要考虑使用最小二乘法最小化像素坐标的重投影误差(上述所求…

重温react-10(函数组件和类组件的ref获取方式)

App.js的代码 06是函数组件 07是类组件 import React, { useEffect, useRef } from react; import LearnFunction06 from ./LearnFunction06; // 函数组件和类组件的ref使用方式 import LearnFunction07 from ./LearnFunction07; // 函数组件和类组件的ref使用方式 export de…

dell服务器RAID5磁盘阵列出现故障的解决过程二——热备盘制作与坏盘替换过程

目录 背景方案概念全局热备&#xff08;Global Hot Spare&#xff09;&#xff1a;独立热备&#xff08;Dedicated Hot Spare&#xff09;&#xff1a; 过程8号制作成热备清除配置制作独立热备热备顶替坏盘直接rebuild 更换2号盘2号热备 注意注意事项foreign状态要先清除配置 背…

【Mac】Boxy SVG for Mac(矢量图编辑器)及同类型软件介绍

软件介绍 Boxy SVG 是一款功能强大的矢量图形编辑器&#xff0c;专门为 macOS 平台设计开发。它主要用于创建和编辑 SVG&#xff08;可缩放矢量图形&#xff09;文件&#xff0c;是设计师和开发者们制作矢量图形的理想工具。 以下是关于 Boxy SVG 的主要特点和功能&#xff1a…

Rural Access Index (RAI)农村通达指数

农村通达指数&#xff08;RAI&#xff09; 简介 农村通达指数&#xff08;RAI&#xff09;是全球交通领域最重要的发展指标之一。它是目前可持续发展目标中唯一一个直接衡量农村通达性的指标&#xff0c;通过评估农村人口的四季道路通达性来实现。在 2015 年作为可持续发展目…

路由LLM:优化模型调用的成本与效率

引言 在最近的一些视频和讨论中&#xff0c;我们经常提到使用较便宜和较快的模型来替代一些昂贵的大型语言模型&#xff08;LLM&#xff09;。这种方法的一个主要原因是看到许多人在不必要的场合调用如GPT-4或Claude Opus等高级模型&#xff0c;从而浪费了大量资金。而事实上&…