美文网首页
阿里云上传图片

阿里云上传图片

作者: Avery_G | 来源:发表于2021-07-13 17:29 被阅读0次

引言

为了更好的掌握 OSS 存储,可以先去了解一下这些基本概念

一、准备工作

创建 Bucket

1、首先需要一个阿里云帐号,没有的可以自己去注册一下

2、登录之后点击右上角 -- 控制台

控制台.png

3、鼠标移入箭头处(图1),会出现图2,然后点击 对象存储 OSS ,或者在搜索框搜索 对象存储 OSS 也可以

对象存储OSS 15.30.47.png

4、创建 Bucket,名称和区域根据自己的需求填写即可,其他的默认选择就行了,设置好后点击确定就创建成功了

创建 Bucket.png
Bucket 步骤.png

5、怎么查看创建的 Bucket,下图中点击红框里的内容就可以查看啦

Bucket 列表.png

6、进入列表,点击创建好的 Bucket ,点击进入,就可以设置创建的 Bucket 了,点击概览,就能找到需要在代码里用到的参数了

  • region里填写的是参数1对应的绿框里的内容
  • bucket里填写的是参数2对应的绿框里的内容,即你创建的 Bucket 名称
查看需要的参数.png

7、获取 accessKeyId 和 accessKeySecret

点击头像 --> AccessKey 管理 --> 创建 AccessKey ,第一次创建的时候,会提示下载 ID 与密码,建议下载,至此,所需的参数就都拿到了

  • accessKeySecret 填写的是拿到的密码
  • accessKeyId 填写的是 AccessKey ID ,即刚刚拿到的 ID
AccessKey 管理.png

二、Vue 上传图片到阿里云

1、安装 ali-oss

npm install ali-oss

2、创建工具类文件

在 utils 文件夹内创建一个 alioss.js 文件

function uploadFile (file, ossConfig, resultUrl) {
  const OSS = require('ali-oss')
  // 这里是通过接口拿到的这些参数,所以在调用该方法之前,需调用后台接口先拿到这些参数
  // 如果这些参数不是通过后台接口拿到的话,可以从上边介绍的第6条中,找到需要的参数放过来就可以了
  const client = new OSS({
    region: ossConfig.region,
    accessKeyId: ossConfig.accessKeyId,
    accessKeySecret: ossConfig.accessKeySecret,
    bucket: ossConfig.bucket
  })
  async function put () {
    try {
      // 这里加个时间戳,目的是以防有同名的文件被覆盖
      var timestamp = (new Date()).getTime()
      var fileName = ossConfig.path + '/' + timestamp + '/' + file.name
      // 上传到OSS
      const result = await client.put(fileName, file)
      console.log(result)
      console.log('阿里云OSS上传文件接口返回:', result)

      resultUrl(result)
    } catch (e) {
      console.log('阿里云OSS上传文件接口返回错误:', e)
      resultUrl()
    }
  }
  return put()
}
export {
  uploadFile
}

3、在 vue 文件中引入并使用

  • 引入
import { uploadFile } from '@/utils/utils'
  • 使用 Element 的图片上传组件,这里就不介绍 element 图片上传组件的使用了,直接讲调用 uploadFile 方法
uploadImg (e) {
  console.log(e)
  if (e.file.type !== 'image/jpeg' && e.file.type !== 'image/png' && e.file.type !== 'image/jpg' &&
    e.file.type !== 'image/bmp' && e.file.type !== 'image/gif') {
    this.$message.error('请选择图片文件')
    return
  }
  const isLt5M = e.file.size / 1024 / 1024 < 5
  if (!isLt5M) {
    this.$message.error('上传图片大小不能超过 5MB!')
    return
  }
  // 如果 oss 配置参数没有经过后台接口,则忽略 ossConfig 参数,如果是接口获取的,则先调用接口拿到参数
  uploadFile(e.file, this.ossConfig, function (res) {
    if (res === undefined) {
      return ''
    } else {
      // 更新展示的图片地址, res.name 为图片的名称,此处写自己的逻辑代码即可
      console.log(res.name)
    }
  })
}

相关文章

  • 图片上传

    图片上传 获取阿里云接口 图片上传到阿里云 图片预览接口post http://113.108.139.178:1...

  • 移动端实现图片压缩上传

    上传图片有很多框架,或者是阿里云直传,关于阿里云直传可以看我之前的博客上传图片到阿里云,这次是通过后台进行操作上传...

  • 阿里云上传图片

    + (void)uploadImages:(NSArray *)images isAsync:(BOOL)isAs...

  • 阿里云上传图片

    引言 为了更好的掌握 OSS 存储,可以先去了解一下这些基本概念[https://help.aliyun.com/...

  • 封装直传阿里云存储文件上传控件

    本文目标 封装一个直传阿里云OSS云存储图片上传控件 控件效果图 上传之前 上传成功 预览图片 文件上传前后台及阿...

  • Android OSS上传图片到阿里云

    Android OSS上传图片到阿里云 我所采取的上传方式为异步上传,如果需要多张图片的话,可以直接循环上传就可...

  • 阿里云(I)

    参考资料:iOS 阿里云服务器图片上传iOS录制(或选择)视频,压缩、上传(整理)视频 拍摄 与压缩 阿里云OSS...

  • vue多图上传到阿里云

    结合这两篇文章小程序选择图片、预览,上传到阿里云和阿里云上传图片 引入js 做循环判断上传成功后再上传下一张图 循...

  • react.js 前端实现阿里云上传

    前端实现阿里云上传图片: 1,下载阿里云相关插件 npm install ali-oss --save引用方式 :...

  • 阿里云上传

    阿里云上传 1. 导入阿里云上传SDK 2. 实例化阿里云 3. 使用阿里云上传实例

网友评论

      本文标题:阿里云上传图片

      本文链接:https://www.haomeiwen.com/subject/kcngdltx.html