2021-04-12 OSS上传的使用

utils/index.js
/**
   * 获取文件后缀
   * */
export function getSuffix (filePath) {
  return `.${filePath.split('.').pop()}`
}
/**
   * 随机数
   * */
export function random (len) {
  let s = ''
  while (s.length < len) {
    const r = Math.random()
    s += (r < 0.1 ? Math.floor(r * 100) : String.fromCharCode(Math.floor(r * 26) + (r > 0.5 ? 97 : 65)))
  }
  return s
}
import { toast, random, getSuffix } from '@/utils/index'
import OSS from 'ali-oss'
let fileList = []
// 获取oss信息
fileToken({ privateBucketName: false }).then(({ code, data, msg }) => {
        if (code) return
        ossData = data
        // OSS初始化
        client = new OSS({
          region: 'oss-cn-hangzhou',
          accessKeyId: data.accessKeyId,
          accessKeySecret: data.accessKeySecret,
          bucket: data.bucketName,
          stsToken: data.securityToken,
          refreshSTSToken: 1617022351
        })
      })
// 上传
function uploadFile(file) {
      const objectKey = ossData.directory + random(18) + getSuffix(file.file.name)
      try {
        client.put(objectKey, file.file)
          .then(result => {
            fileList.push({ url: result.url })
            emit('update:value', fileList.value)
          })
      } catch (e) {
        toast(`${file.file.name}${t('i18n_upload_pic_tips_02')}`)
      }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,751评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 6,939评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,587评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,633评论 2 9