当前位置: 首页 > 技术支持 > 服务器维护>> 阿里云服务器使用+OSS的使用

阿里云服务器使用+OSS的使用

aliyun服务器使用

  • 一、ESC的使用
    • 3_1打开需要打开的端口
    • 3_2在xshell中执行命令,得到一个地址,这个地址就是宝塔管理面板
    • 3_3在浏览器中访问宝塔Linux面板,并通过宝塔面板安装Linux的环境
    • 2_1进入云服务管理控制台
    • 2_2创建安全组
    • 2_3查看服务器的公用地址和私有地址,并修改实例名称和密码
    • 2_4在电脑上下载xshell
    • 2_5尝试使用xshell连接服务器(使用xshell远程操作服务器,比图形界面更快)
    • 1_1进入页面
    • 1_2跟着流程走
    • 1_3领取新手福利
    • 1.免费获取服务器(24岁以下都行)
    • 2.使用xshell连接服务器
    • 3.配置环境
    • 二、oss阿里云存储服务
      • 2.1 创建密钥
      • 2.2准备工作:查看oss官方学习路径
      • 2.3 第一步导入依赖
      • 2.4 第二步:进行application.properties配置
      • 2.5第三步:启动类配置
      • 2.6创建工具类:读取并保存配置文件中的内容
      • 2.7创建service层
      • 2.7创建Controller层:调用service
      • 2.8测试:上传图片成功!
      • 1.1在阿里云上开通oss功能
      • 1.2创建一个button,在后台操控oss
      • 1 准备工作:开通oss环境
      • 2使用java代码操作oss服务器
      • 3问题解决


      一、ESC的使用

      1.免费获取服务器(24岁以下都行)

      1_1进入页面

      进入阿里云网站 https://cn.aliyun.com/,然后搜索学生机进入获取界面。
        阿里云服务器使用+OSS的使用(图1)
        阿里云服务器使用+OSS的使用(图2)

      1_2跟着流程走

      1.注意:如果不想做新手训练营可以直接点下一步,最后给个评分就行了。

        阿里云服务器使用+OSS的使用(图3)

      1_3领取新手福利

        阿里云服务器使用+OSS的使用(图4)

      2.使用xshell连接服务器

      2_1进入云服务管理控制台

        阿里云服务器使用+OSS的使用(图5)
        阿里云服务器使用+OSS的使用(图6)

      2_2创建安全组

      创建安全组的主要是为了配置内网入方向,作用是配置外界可访问服务器的端口号(未配置的端口则不允许访问)。
        阿里云服务器使用+OSS的使用(图7)
        阿里云服务器使用+OSS的使用(图8)
        阿里云服务器使用+OSS的使用(图9)

      2_3查看服务器的公用地址和私有地址,并修改实例名称和密码

        阿里云服务器使用+OSS的使用(图10)
        阿里云服务器使用+OSS的使用(图11)

      2_4在电脑上下载xshell

      下载xshell教程链接

      2_5尝试使用xshell连接服务器(使用xshell远程操作服务器,比图形界面更快)

      1.注意主机是填写公网ip
      2.阿里云服务器的默认用户名是root,密码是你写的哪个密码
      如果还是连接不上,就重新登入服务器和重启一下xshell。
      xshell远程连接服务器的教程

      3.配置环境

      宝塔安装环境

      3_1打开需要打开的端口

      3_2在xshell中执行命令,得到一个地址,这个地址就是宝塔管理面板

      yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

        阿里云服务器使用+OSS的使用(图12)
        阿里云服务器使用+OSS的使用(图13)
        阿里云服务器使用+OSS的使用(图14)

      3_3在浏览器中访问宝塔Linux面板,并通过宝塔面板安装Linux的环境

      宝塔面板能够监控我们
        阿里云服务器使用+OSS的使用(图15)
        阿里云服务器使用+OSS的使用(图16)
        阿里云服务器使用+OSS的使用(图17)




      二、oss阿里云存储服务

      1 准备工作:开通oss环境

      1.1在阿里云上开通oss功能

      阿里云服务器使用+OSS的使用(图18)

      1.2创建一个button,在后台操控oss

      阿里云服务器使用+OSS的使用(图19)

      上传图片并下载测试
      阿里云服务器使用+OSS的使用(图20)

      2使用java代码操作oss服务器

      在公司我们并没有权限进去oss里面进行上传和删除图片的权限,而是通过使用java代码来操作图片。

      2.1 创建密钥

      阿里云服务器使用+OSS的使用(图21) 阿里云服务器使用+OSS的使用(图22)

      2.2准备工作:查看oss官方学习路径

      1.点击进入oss学习路径
      2.点击查看oss的java模块
      3.OSS项目的架构如下:
      阿里云服务器使用+OSS的使用(图23)

      2.3 第一步导入依赖

      明明是1.8版本的jdk,但是只有以下配置才能成功。

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

      2.4 第二步:进行application.properties配置

      #服务端口
      server.port=8002
      #服务名
      spring.application.name=service-oss#环境设置:dev、test、prod
      spring.profiles.active=dev#阿里云 OSS
      #不同的服务器,地址不同
      aliyun.oss.file.endpoint=junjun11.oss-cn-beijing.aliyuncs.com
      aliyun.oss.file.keyid=LTAI5tP1a4rEqGXpPKm1xwfS
      aliyun.oss.file.keysecret=XKLO5M5fehSMCLt1fzsc3Rg2jzVKgF
      #bucket可以在控制台创建,也可以使用java代码创建
      aliyun.oss.file.bucketname=junjun11

      2.5第三步:启动类配置

      只要添加了阿里云oss,就会在服务器开启的时候自动查找数据库,查找失败就会报错启动失败,所以使用要添加exclude来不加载数据库或者进行连接数据库的配置

      //会自动加载数据库,使用要添加这个配置不加载数据库或者添加数据库配置。@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)public class OssApplication {public static void main(String[] args) {SpringApplication.run(OssApplication.class,args);}}

      2.6创建工具类:读取并保存配置文件中的内容

      --------com/junjun/utils/ConstantPropertiesUtils.java

      @Componentpublic class ConstantPropertiesUtils implements InitializingBean {//@Value能将内容传入到字段中去。而${}能将配置文件中的内容进行传值@Value("${aliyun.oss.file.endpoint}")private String endpoint;@Value("${aliyun.oss.file.keyid}")private String keyId;@Value("${aliyun.oss.file.keysecret}")private String keySecret;@Value("${aliyun.oss.file.bucketname}")private String bucketName;//定义常量public static String END_POIND;public static String ACCESS_KEY_ID;public static String ACCESS_KEY_SECRET;public static String BUCKET_NAME;//afterPropertiesSet()会在上面字段传值结束后自动调用@Overridepublic void afterPropertiesSet() throws Exception {END_POIND=endpoint;ACCESS_KEY_ID=keyId;ACCESS_KEY_SECRET=keySecret;BUCKET_NAME=bucketName;}}

      2.7创建service层

      ---------com/junjun/service/OssService.java

      public interface OssService {//上传头像到ossString uploadFileAvatar(MultipartFile file);}

      -------------com/junjun/service/impl/OssServiceImpl.java

      package com.junjun.service.impl;import com.aliyun.oss.OSS;import com.aliyun.oss.OSSClientBuilder;import com.junjun.service.OssService;import com.junjun.utils.ConstantPropertiesUtils;import org.springframework.stereotype.Service;import org.springframework.web.multipart.MultipartFile;import java.io.IOException;import java.io.InputStream;@Servicepublic class OssServiceImpl implements OssService {@Override//返回url地址!public String uploadFileAvatar(MultipartFile file) {//工具类传值。String endpoint = ConstantPropertiesUtils.END_POIND;//终端,如北京的终端:oss-cn-beijing.aliyuncs.comString bucketName = ConstantPropertiesUtils.BUCKET_NAME;//自己创建的Bucket的name,如:junjun11String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;//在oss的Access Key Secret功能可以获得String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;//在oss的Access Key Secret功能可以获得String fileName=file.getOriginalFilename();//需要上传的文件名,如%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81.png// 创建OSSClient实例。OSS ossClient = null;// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。InputStream inputStream = null;try {ossClient=new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);//通过id和密码创建一个可以与OSS交互的OSSClientinputStream = file.getInputStream();//获取传入文件的输入流// 依次填写Bucket名称,和Object文件名称或完整路径(例如exampledir/exampleobject.txt)、上传的文件流。Object完整路径中不能包含Bucket名称。ossClient.putObject(bucketName, fileName, inputStream);//例如https://junjun11.oss-cn-beijing.aliyuncs.com/%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81.pngString url="https://"+bucketName+"."+endpoint+"/"+fileName;return url;} catch (IOException e) {e.printStackTrace();}finally {// 关闭OSSClient。ossClient.shutdown();}return null;}}

      2.7创建Controller层:调用service

      -----------com/junjun/controller/OssController.java

      @RestController@RequestMapping("/eduoss/fileoss")@CrossOrigin//跨域问题public class OssController {@AutowiredOssService service;HashMap<String,Object> map=new HashMap<String,Object>();@PostMapping("/upload")//上传头像(传入一个文件),R中保存上传文件的url地址public R uploadOssFile(MultipartFile file){String url = service.uploadFileAvatar(file);//成功上传头像并且返回上传后的所在url地址map.put("url",url);return R.ok().setData(map);}}

      2.8测试:上传图片成功!

      阿里云服务器使用+OSS的使用(图24) 阿里云服务器使用+OSS的使用(图25)

      3问题解决

      1.如果上传同一个名称的文件,将会将上一个覆盖:使用uuid来生成随机数
      2.文件太杂,我们要实现按日期分文件夹保存的效果。
      -------com/junjun/service/impl/OssServiceImpl.java

      @Servicepublic class OssServiceImpl implements OssService {@Override//返回url地址!public String uploadFileAvatar(MultipartFile file) {//工具类传值。String endpoint = ConstantPropertiesUtils.END_POIND;//终端,如北京的终端:oss-cn-beijing.aliyuncs.comString bucketName = ConstantPropertiesUtils.BUCKET_NAME;//自己创建的Bucket的name,如:junjun11String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;//在oss的Access Key Secret功能可以获得String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;//在oss的Access Key Secret功能可以获得String fileName=file.getOriginalFilename();//需要上传的文件名,如%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81.png//***********************1.生成随机的uuid***********************String uuid= UUID.randomUUID().toString().replaceAll("-","");//把aw2d-dfgj-432l中间的-去掉// 创建OSSClient实例。OSS ossClient = null;// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。InputStream inputStream = null;try {ossClient=new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);//通过id和密码创建一个可以与OSS交互的OSSClientinputStream = file.getInputStream();//获取传入文件的输入流//****************2.把文件按日期进行分类***********************SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy/MM/dd");//确认格式.在oss中所有的xx/都会变成一个文件夹String date = dateFormat.format(new Date());//得到该格式的当前时间;2021/10/20//****************3.最终确定filename***********************String FinalFileName=date+"/"+uuid+fileName;// 依次填写Bucket名称,和Object文件名称或完整路径(例如exampledir/exampleobject.txt)、上传的文件流。Object完整路径中不能包含Bucket名称。ossClient.putObject(bucketName, FinalFileName, inputStream);//例如https://junjun11.oss-cn-beijing.aliyuncs.com/%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81.pngString url="https://"+bucketName+"."+endpoint+"/"+FinalFileName;return url;} catch (IOException e) {e.printStackTrace();}finally {// 关闭OSSClient。ossClient.shutdown();}return null;}}

      【效果展示】:
      阿里云服务器使用+OSS的使用(图26)



      服务器购买/咨询热线:1563700917115617636856

      本文链接:http://www.sqxnmj.com/jishuzhichiyuweihu/441.html
      tags:阿里云服务器阿里云云服务器服务器
      腾讯云服务器特惠

      • 关注微信
      是否收录:

      猜你喜欢

      微信公众号