OSS对象存储是什么?

举个栗子,我的个人学生分享资源网站,用的是阿里的ESC服务器,给的宽带是1M,在这里普及一下宽带和下载的速度比是8:1,也就是最多只有100左右KB
,而且如果我把所有的资源文件都放在了服务器上,那么扯淡一样(很快就会存不下),而OSS就是解决这个问题的服务,你可以把你的上传和下载功能交给他,他来帮你存储和传输,你的服务器只是一个管理者,他的下载速度几M左右,存储空间无限制,说了这么多来看一下怎么把OSS加到我们的项目架构中。

第一步开通服务

先去阿里云,打开OSS对象存储服务
之后创建一个存储库
这样基本的环境我们就有了,然后我们来看一下我们使用OSS看一下大概的原理,在这里我才用的是比较安全有效率的方式,还有其他非常简单,但是我想你如果真的要用的话,我还是推荐你使用这种方式。
总体说一下啊,大概意思就是用户(浏览器页面)向你的服务器发送了一个请求上传的命令,然后服务器收到之后就会发送请求给OSS,OSS会返回一个凭证也就是这里所说的(policy),然后服务器就会把这个凭证返回给浏览器,这时候浏览器直接拿着这个凭证就去上传给OSS了,也就是服务器只当了一个传话的。

这时候很显然的一个问题,用户提交给服务器很简单,但是当你的服务器向OSS发送请求时OSS怎么认识你,所以你就得需要一个账号密码来连接OSS(具体细节不要怕因为会有直接给你写好的代码,你直接改成自己的账号密码就行)。

你可能发现这个图片上面有一个callback(回调),其实也很简单,我们来想这个问题,当用户拿到了凭证直接去上传了,用户上传的是什么,多大,我们根本不知道,但是文件大小,名称很多情况下是我们很关注得问题,所以就有了callback,他的含义就是当OSS成功接收了用户的上传命令之后,OSS就是通过这个callback找到你的服务器地址,并在用户上传完毕后向服务器发送一个请求,这个请求包含了文件名大小等等,通过你自己的验证逻辑向OSS返回一个OK的命令,那么OSS就会把这个响应也返回给浏览器,你也注意到了,这时候不管你的服务器验证结果是什么,用户已经上传完毕了。

这些原理你知道你看懂了那么实践起来非常的方便,阿里已经给我们写好了模板代码,我们这要改不到10行代码,就完全可以用了,那么开始吧!

  1. 下载开发包
  2. 服务端代码地址:http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/86983/APP_zh/1537973714934/aliyun-oss-appserver-java-master.zip?spm=a2c4g.11186623.2.13.179c4c07D4N7yr&file=aliyun-oss-appserver-java-master.zip
  3. 页面代码下载地址:http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/86983/APP_zh/1537971352825/aliyun-oss-appserver-js-master.zip?spm=a2c4g.11186623.2.15.179c4c07D4N7yr&file=aliyun-oss-appserver-js-master.zip
  4. 修改OSS仓库允许外部访问
  5. .现在去下载的Java代码中修改

  6. 这里的几个参数都很简单,唯一有点麻烦的是callbackUrl,他就是我所说的OSS执行回调的地址,OSS在用户上传完毕后会向这里URL汇报文件大小,名称等等,你也许明白了,这个URL即使错误也不是致命的,毕竟用户已经上传完了,之后你打包,直接 java -jar 就可以启动服务了。

我们再来看一下前端代码,你只需要去upload.js中改一行代码,就可以用了。
这个url就是你的服务器,浏览器会先发送请求给这个url,拿到凭证,这个服务器就是你刚才看见的Java端的代码。

在我阿里给的服务端和页面,你可以把那两个url改成一个,阿里也希望你这么做,这也也和第一个图片就吻合了,你的服务器又可以给用户凭证,也可以接收OSS的回调,其实Java代码里已经处理了回调,阿里非常希望你这么做,最后如果你还有什么问题,或者想更深一步的了解更多的oss知识(毕竟我说的知识很皮毛),可以去阿里云官网看看,真的很详细!!!

阿里云的oss看这一篇就够,手把手教你,上传下载速度再也不用愁了,个人网站速度太慢,一定要看!相关推荐

  1. 阿里云oss 使用, 基于Nginx 配置云服务器+oss的内网访问 , 及使用Java SDK 完成上传,下载,删除,查询文件列表操作

    一.同阿里产品,云服务器和存储对象oss-配置内网访问 阿里存储对象oss 地址: https://oss.console.aliyun.com/overview 配置须知 通过Nginx 进行网络转 ...

  2. 入门Python,看这一篇就够了,史上最全的Python基础语法知识清单!

    Python崇尚优美.清晰.简单,是一个优秀并广泛使用的脚本语言.Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域. 目前业内几乎所有大中型互联 ...

  3. 基于阿里云的OSS上传从简单实现 到项目业务应用(一)入门了解篇

    使用阿里云OSS 功能的准备工作 环境准备 环境要求 使用Java 1.8及以上版本. 查看版本 执行命令java -version查看Java版本. 安装方法一: 如果使用Maven 安装阿里云OS ...

  4. 【实战记录】使用阿里云的OSS云存储,上传与删除图片及遇到的问题

    目录 背景 正文内容 1.申请OSS云服务器 2.添加依赖 3.写一个简单的封装类(上传的时候直接调用就好了) 4.调用 5.查看 注意事项: 1.无法删除OSS端文件,路径错误 2.无法删除OSS端 ...

  5. 使用阿里云的oss对图片加水印并且字体大小自适应(阿里云oss暂不支持字体大小自适应)

    使用阿里云的oss对图片加水印并且字体大小自适应(阿里云oss暂不支持字体大小自适应) 背景: 首先阿里云oss云对象存储是不能做到字体大小自适应的,因为在开发中我们的图片上传的尺寸是做不到固定大小宽 ...

  6. SpringBoot集成阿里云存储OSS服务

    前言 该文章会先简单的介绍一下阿里云的OSS存储,然后演示如何在SpringBoot项目中集成OSS,每一步都有记录,保证初学者也能看懂. 文章目录 前言 1.阿里云存储OSS是什么? 2.Sprin ...

  7. 阿里云 CDN + OSS 解决方案

    前言 直接使用阿里云的OSS+CDN的方案有几大好处: 成本低廉.OSS+CDN部署自己的网站每个月的花费远比自己买ECS服务器部署网站花费要少得多 大幅降低运维成本.直接使用现成的云服务了,无需花精 ...

  8. 阿里云存储OSS中设置上传文件content type

    阿里云存储OSS中设置上传文件ContentType 如果你使用浏览器上传文件,则浏览器会自动在header中设置正确地content type,然后对文件的访问会得到正确地回应. 如果采用编程的方式 ...

  9. 阿里云物联网平台体验(树莓派+Python篇)

    阿里云物联网平台体验(树莓派+Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了 ...

最新文章

  1. iOS 开发_..和self...的区别以及使用
  2. mysql 相除 取整数位,psql除法保留小数,实现向上取整和向下取整操作_PostgreSQL_数据库...
  3. important meeting with friends
  4. OpenCV——释放时错误[SourceReaderCB::~SourceReaderCB terminating async callback]解决方案
  5. char、varchar、nchar、nvarchar的区别
  6. 人工智能ai以算法为基础_智能扬声器和AI将为您的医师带来超强能力
  7. selenium拖动元素java_使用Java在Selenium WebDriver中聚焦元素的正确方法
  8. easyui上传文件 jsp+js+controller
  9. python基础知识培训价格_Python基础知识的学习
  10. 配置visual studio code进行asp.net core rc2的开发(转载jeffreywu)
  11. java热门编程题_java经典50编程题(1-10)
  12. MATLAB LSTM多输入多输出 模式分类 示例解析(含代码)
  13. 基于单神经元的自适应PID算法实现步骤与MATLAB代码
  14. 国内外 CRM 客户关系管理软件排行榜
  15. 多媒体教学计算机遥控,多媒体教学系统使用说明
  16. java springboot pdf插入图片 定点插图
  17. 燕山大学C++实验报告
  18. 硬件防火墙和软件防火墙有什么区别
  19. 17.sql server数据库使用规则、二八原则、数据库查询集群--数据库读写分离多种实现、数据库配置读写分离(by-朝夕)
  20. 黑马编程开发各种免费资源-安排一下

热门文章

  1. 此次519暴跌的几点感触 2021-05-21
  2. Python三国华容道程序-广度优先
  3. DXC Technology和Google Cloud宣布缔结全球合作关系,共同推动企业大规模创新
  4. 计算机社团基础,计算机社团招新策划
  5. 解决Vivado HLS 高层综合失败
  6. FME2012世界之旅——实时博客
  7. ubtuntu安装java
  8. X86 64位和32位
  9. @Value的用法及(“#{}“)与@Value(“${}“)的区别
  10. 服务器双通道与单通道的差别