vue element 阿里云OSS 文件上传

element组件

<el-upload
  class="upload-demo"
  :show-file-list="false"           // 不显示文件上传列表
  drag
  action
  accept="image/gif, image/jpeg"    // 文件格式
  :http-request="handleUpload"      // 文件上传函数
>
</el-upload>
文件上传
handleUpload (option) {
  // 生成的文件名称
  const objName = this.uuid()
  // 调用 ali-oss 中的方法
  alioos.put(`lbt/${objName}.jpg`, option.file).then(res => {
    this.add(res.url)
  })
},

OSS 文件

ali-oss.js

// 文档地址:https://help.aliyun.com/document_detail/64047.html?spm=a2c4g.11186623.6.1340.5e5159660LQlZf
// 引入ali-oss
const OSS = require('ali-oss')

/**
 *  [accessKeyId] {String}:通过阿里云控制台创建的AccessKey。
 *  [accessKeySecret] {String}:通过阿里云控制台创建的AccessSecret。
 *  [bucket] {String}:通过控制台或PutBucket创建的bucket。
 *  [region] {String}:bucket所在的区域, 默认oss-cn-hangzhou。
 */

const client = new OSS({
  region: 'oss-cn-beijing',
  // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,部署在服务端使用RAM子账号或STS,部署在客户端使用STS。
  accessKeyId: 'LT*******************1w',
  accessKeySecret: 'e********************3j3wP',
  bucket: 'c****024'
})

export const put = async (ObjName, flieUrl) => {
  try {
    // object-key可以自定义为文件名(例如file.txt)或目录(例如abc/test/file.txt)的形式,实现将文件上传至当前Bucket或Bucket下的指定目录。
    const result = await client.put(ObjName, flieUrl)
    return result
  } catch (e) {
    console.log('错误:')
    console.log(e)
  }
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值