图片存储

本文介绍了图片存储的不同解决方案,重点讲解了阿里云OSS服务的使用,包括购买流程、创建Bucket、管理文件和实现图片上传。还提到了本地文件系统存储的方案,并讨论了各种方法的优缺点。
摘要由CSDN通过智能技术生成

图片存储解决方案

学习自黑马:视频地址
开发一个图片上传服务,需要有存储的支持,那么我们的解决方案将有:

  1. 直接将图片保存到服务的硬盘
    1. 优点:开发便捷,成本低
    2. 缺点:扩容困难
  2. 使用分布式文件系统进行存储
    1. 优点:容易实现扩容
    2. 缺点:开发复杂度稍大(尤其是开发复杂的功能)
  3. 使用nfs做存储
    1. 优点:开发较为便捷
    2. 缺点:需要有一定的运维知识进行部署和维护
  4. 使用第三方的存储服务
    1. 优点:开发简单,拥有强大功能,免维护
    2. 缺点:付费

阿里云oss存储

什么是oss服务?

地址:视频
在这里插入图片描述
海量、安全、低成本、高可靠的云存储服务,提供99.999999999%的数据可靠性。使用RESTful API 可以在
互联网任何位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择全面优化存储成本。

购买服务

使用第三方服务最大的缺点就是需要付费,下面,我们看下如何购买开通服务。在这里插入图片描述
购买下行流量包
在这里插入图片描述
说明:OSS的上行流量是免费的,但是下行流量是需要购买的,一般我们的使用购买最低的流量以及存储,就可以
了,以目前的价格来看,是需要65元人民币。

开始使用oss

创建Bucket

使用OSS,首先需要创建Bucket,Bucket翻译成中文是水桶的意思,把存储的图片资源看做是水,想要盛水必须得有桶,就是这个意思了。

进入控制台,https://oss.console.aliyun.com/overview
在这里插入图片描述
在这里插入图片描述
创建完成后,在左侧可以看到已经创建好的Bucket:
在这里插入图片描述
选择Bucket后,即可看到对应的信息,如:url、消耗流量等
在这里插入图片描述

管理文件

可以通过在线的方式进行管理文件:
在这里插入图片描述

实现图片上传

1. 导入依赖

       <dependency>
<groupId>com.aliyun.oss</groupId> 			              <artifactId>aliyun-sdk-oss</artifactId>  <version>2.8.3</version> 
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.4</version>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.9.9</version>
        </dependency>

2. 编写aliyun.properties配置文件

aliyun.endpoint=oss-cn-qingdao.aliyuncs.com 
aliyun.accessKeyId=LTAIfC7fUsPj7Rfq 
aliyun.accessKeySecret=c2Vo3q1AmivtY8lxFnfsCfkO2
c2HCk 
aliyun.bucketName=itcast-haoke 
aliyun.urlPrefix=http://itcast-haoke.oss-cn-
qingdao.aliyuncs.com/

accessKeyId以及accessKeySecret获取参考官方文档:
https://help.aliyun.com/knowledge_detail/48699.html
3.编写AliyunConfig

package cn.itcast.haoke.dubbo.api.config;

import com.aliyun.oss.OSSClient;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource("classpath:aliyun.properties")
@ConfigurationProperties(prefix = "aliyun")
@Data
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值