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

OSS对象存储是什么?

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

第一步开通服务

先去阿里云,打开OSS对象存储服务
阿里云的oss看这一篇就够,手把手教你,上传下载速度再也不用愁了,个人网站速度太慢,一定要看!_第1张图片之后创建一个存储库
阿里云的oss看这一篇就够,手把手教你,上传下载速度再也不用愁了,个人网站速度太慢,一定要看!_第2张图片这样基本的环境我们就有了,然后我们来看一下我们使用OSS看一下大概的原理,在这里我才用的是比较安全有效率的方式,还有其他非常简单,但是我想你如果真的要用的话,我还是推荐你使用这种方式。
阿里云的oss看这一篇就够,手把手教你,上传下载速度再也不用愁了,个人网站速度太慢,一定要看!_第3张图片总体说一下啊,大概意思就是用户(浏览器页面)向你的服务器发送了一个请求上传的命令,然后服务器收到之后就会发送请求给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. 阿里云的oss看这一篇就够,手把手教你,上传下载速度再也不用愁了,个人网站速度太慢,一定要看!_第4张图片阿里云的oss看这一篇就够,手把手教你,上传下载速度再也不用愁了,个人网站速度太慢,一定要看!_第5张图片
  6. .现在去下载的Java代码中修改
  7. 阿里云的oss看这一篇就够,手把手教你,上传下载速度再也不用愁了,个人网站速度太慢,一定要看!_第6张图片
    这里的几个参数都很简单,唯一有点麻烦的是callbackUrl,他就是我所说的OSS执行回调的地址,OSS在用户上传完毕后会向这里URL汇报文件大小,名称等等,你也许明白了,这个URL即使错误也不是致命的,毕竟用户已经上传完了,之后你打包,直接 java -jar 就可以启动服务了。

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

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

你可能感兴趣的:(OSS)