博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Vue项目中上传文件到阿里云OSS
阅读量:5913 次
发布时间:2019-06-19

本文共 2454 字,大约阅读时间需要 8 分钟。

关于Vue项目中上传文件到阿里云OSS


前言

本文主要讲述在使用 Vue 开发的过程中,使用到阿里云 功能。

源码

github:

Useage

$ git clone https://github.com/taosin/alioss-js-upload.git   //克隆到本地$ cd alioss-js-upload        $ npm install             //安装依赖$ node index.js      //启动server$ cd public      $ npm install$ npm run dev     //启动本地前端复制代码

注意:在使用 OSS 上传之前,需要对 OSS 进行相关配置!!!

阿里云 OSS 控制台配置部分

注册阿里云账号已不需要再赘述,下面主要介绍如何配置 oss :

进入控制台,鼠标移到右上角用户名出,点击 访问权限 ,如下图:

图片一

如果没有此功能,可将鼠标移至 产品 -> 管理与控制 ,点击 访问控制 进入访问控制产品页,如下图示:

图片二

1.新建授权策略
  • 点击左侧的 策略管理 -> 新建用户 , 如下图:
    图片三
2.新建授权策略
  • 点击左侧的 策略管理 -> 新建用户 , 如下图:

图片四

  • 在弹出对话框中:选择授权策略模板(使用空模板)
  • 编辑授权策略并提交:修改 授权策略名称(自定义名称),备注,策略内容,并提交。
    示例:一个 MNS 授权策略内容模版:
    { "Statement": [    {       "Action": "mns:*",       "Effect": "Allow",       "Resource": "acs:mns:*:*:*"     } ], "Version": "1"}复制代码
    授权策略json格式的字符串,其中,
    Action : 表示要授权的操作, MNS 操作都以mns:开头。例如: "mns:SendMessage" 表示 MNS 服务的API:SendMessage/BatchSenMessage

Effect : 表示授权类型。例如:Allow, Deny

Resrouce : 表示要授权的阿里云资源名 (ARN) ,格式为:"acs:<云服务名>: <地域名>: <主账号UID>:<资源URI>"。例如:“acs:mns:cn-hangzhou:123456789:/queues/MyQueue1/messages”

3.授权子账号访问 MNS
  • 返回 用户管理 ,找到第一步创建的子账号,点击右侧 授权
  • 在弹出的对话框中,选择授权策略名称,并添加到右侧已选授权策略列表,点击 确定 提交,如下图:
    enter image description here
4.创建角色
  • 点击左侧的 角色管理 -> 新建角色如下图:
    enter image description here

enter image description here

4.授权策略访问角色
  • 点击左侧的 角色管理 ,在右侧的角色列表中选择需要授权的角色,点击授权,如下图:
    enter image description here
5.注意事项
  • server 端的代码中

    var sts = new STS({  accessKeyId: '子账号 accessKeyId',  accessKeySecret: '子账号 accessKeySecret',});复制代码

    注:accessKeyId 和 accessKeySecret 为第一步创建的子用户的 key

  • rolearn

    var rolearn = '对应角色的Arn值';复制代码
  • policy
    var policy = {  "Version": "1",  "Statement": [  {      "Effect": "Allow",      "Action": [      "oss:GetObject",      "oss:PutObject"      ],      "Resource": [      "acs:oss:*:*:BucketName",      "acs:oss:*:*:BucketName/*"      ]  }  ]};复制代码
    这里的policy 必须和之前创建的策略一致。

到这里, OSS 的控台之配置已经完成,接下来我们在项目中更改相应的配置代码即可。

代码部分

前端部分

需要在前端页面中引入 oss-skd,在 index.html 可以下面方式引入:

复制代码
后端部分

server 端(service.js)需要修改的代码如下:

var sts = new STS({    accessKeyId: '你的accessKeyId',    accessKeySecret: '你的accessKeySecret',});var rolearn = '你的rolearn';var policy = {    "Version": "1",    "Statement": [    {        "Effect": "Allow",        "Action": [        "oss:GetObject",        "oss:PutObject"        ],        "Resource": [        "acs:oss:*:*:oss-upload",        "acs:oss:*:*:oss-upload/*"        ]    }    ]};复制代码

也可参考:


至此,文章书写完成,不求打赏不求粉,只愿真诚帮到亲,如有疏漏,敬请指出,定虚心更正!

感谢阅读!!!

转载于:https://juejin.im/post/5a0d2cff51882531bb6c5d92

你可能感兴趣的文章
转:一个基于互联网医疗的创业公司,三年是一个收获
查看>>
How to effectively work with multiple files in Vim?
查看>>
Android 中文API (70) —— BluetoothDevice[蓝牙]
查看>>
不定宽高垂直居中分析
查看>>
ibatis中使用like模糊查询
查看>>
Scrum三头猪
查看>>
mysql之视图
查看>>
项目管理学习笔记之二.工作分解
查看>>
奇异值分解(We Recommend a Singular Value Decomposition)
查看>>
一个单元测试 学习 aysnc await
查看>>
Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现 【转】
查看>>
iOS开发网络篇—HTTP协议
查看>>
jboss7 添加虚拟目录 上传文件路径
查看>>
在eclipse中建立lua开发环境
查看>>
CRT/LCD/VGA Information and Timing
查看>>
C# PPT 为形状设置三维效果
查看>>
Android DecorView浅析
查看>>
C 双向链表
查看>>
hdu 5452(树链刨分)
查看>>
LVM Linear vs Striped Logical Volumes
查看>>