vue3 TS vite element ali-oss使用教程示例

 更新时间:2023年07月31日 14:08:15   作者:金色秋风  
这篇文章主要为大家介绍了vue3 TS vite element ali-oss使用教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

vue3 TS vite element ali-oss使用方式

安装ali-oss包

npm i ali-oss -S

使用oss封装函数

const OSS = require('ali-oss')
// import Oss from 'ali-oss'
/**
 *  [accessKeyId] {String}:通过阿里云控制台创建的AccessKey。
 *  [accessKeySecret] {String}:通过阿里云控制台创建的AccessSecret。
 *  [bucket] {String}:通过控制台或PutBucket创建的bucket。
 *  [region] {String}:bucket所在的区域, 默认oss-cn-hangzhou。
 */
//Client.js
export default function Client(data) {
  //后端提供数据
  return new OSS({
    region: 'oss-cn-beijing', //oss-cn-beijing-internal.aliyuncs.com
    accessKeyId: data.accessKeyId,
    accessKeySecret: data.accessKeySecret,
    stsToken: data.securityToken,
    bucket: data.bucket
  })
}

vite 默认不支持commonjs语法,所以使用require会报错。解决方案

安装vite-plugin-require-transform

npm i vite-plugin-require-transform --save-dev

配置vite.config.js

plugins: [
             requireTransform({
        fileRegex: /.ts$|.tsx$|.vue$|.js$/
      })
 ]

<div style='color:red;font-size:20px;'>再次注意<div>

因为阿里OSS文档的后台示例

package main
import (
    "fmt"
    "github.com/aliyun/aliyun-oss-go-sdk/oss"
    "os"
)
func main() {    
    // 从STS服务获取的安全令牌(SecurityToken)。
    securitytoken := "yourSecurityToken" //上面获取的临时授权的数据里的Credentials.SecurityToken
    // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
    // 从STS服务获取临时访问凭证后,您可以通过临时访问密钥和安全令牌生成OSSClient。
    // 创建OSSClient实例。
    // 第一个参数就是bucket的Endpoint,可以在对象储存oss控制台的bucket的概览得到,例如http://oss-cn-beijing.aliyuncs.com
    // 第二个参数就是上面获取的临时授权的数据里的Credentials.AccessKeyId
    // 第三个参数就是上面获取的临时授权的数据里的Credentials.AccessKeySecret
    client, err := oss.New("yourEndpoint", "yourAccessKeyId", "yourAccessKeySecret", oss.SecurityToken(securitytoken))
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)    
    }
    // 填写Bucket名称,例如examplebucket。
    bucketName := "examplebucket"
    // 填写Object的完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
    objectName := "exampledir/exampleobject.txt"
    // 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。
    filepath := "D:\\localpath\\examplefile.txt"
    bucket,err := client.Bucket(bucketName)
    // 通过STS授权第三方上传文件。
    err = bucket.PutObjectFromFile(objectName,filepath)
    fmt.Println(err)
}

所以后台返回token的名字是securitytoken,而ali-OSS的示例名叫stsToken,记住自己对应上,安装我的示例写

element-plus代码

<template>
<el-upload
    accept=""
    v-model:file-list="fileList"
    :http-request="handleUpload"
    :before-upload="beforeUpload"
    action=""
    list-type="picture-card"
    :auto-upload="true"
  >
    <slot name="default" class="el-icon-plus" />
  </el-upload>
  </<template>
<script lang="ts" setup>
//Client.js 这里引入刚才封装好的Client函数
import Client from './ali-oss.js'
import { ref } from 'vue'
import type { UploadUserFile } from 'element-plus'
const fileList = ref<UploadUserFile[]>([])
const handleUpload = async (option: Object) => {
  console.log(option)
}
// 这里是接口,会返回 
import { OssAuthorize } from '@/utils/publicData'
function beforeUpload(file: any) {
  console.log(file)
  OssAuthorize().then((response) => {
    // response.data.accessKeyId = response.data.accessKeyId.replace('STS.', '')
    const client = Client(response.data)
    client.multipartUpload(file.name, file).then((res: any) => {
      console.log(res)
    })
  })
}
</script>

上传成功后会返回的数据里requestUrls

这个是个数组 里面放的是图片链接

以上就是vue3 TS vite element ali-oss使用教程示例的详细内容,更多关于vue3 TS vite element ali-oss的资料请关注脚本之家其它相关文章!

相关文章

  • Vue.js bootstrap前端实现分页和排序

    Vue.js bootstrap前端实现分页和排序

    这篇文章主要为大家详细介绍了Vue.js结合bootstrap前端实现分页和排序效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Electron-vue开发的客户端支付收款工具的实现

    Electron-vue开发的客户端支付收款工具的实现

    这篇文章主要介绍了Electron-vue开发的客户端支付收款工具的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 基于Vue实现timepicker

    基于Vue实现timepicker

    这篇文章主要为大家详细介绍了基于Vue实现timepicker效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • vue获取时间戳转换为日期格式代码实例

    vue获取时间戳转换为日期格式代码实例

    这篇文章主要介绍了vue获取时间戳转换为日期格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • webpack安装配置与常见使用过程详解(结合vue)

    webpack安装配置与常见使用过程详解(结合vue)

    这篇文章主要介绍了webpack安装配置与常见使用过程,主要结合vue实现,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • iview tabs 顶部导航栏和模块切换栏的示例代码

    iview tabs 顶部导航栏和模块切换栏的示例代码

    这篇文章主要介绍了iview tabs 顶部导航栏和模块切换栏的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Vue quill-editor 编辑器使用及自定义toobar示例详解

    Vue quill-editor 编辑器使用及自定义toobar示例详解

    这篇文章主要介绍了Vue quill-editor编辑器使用及自定义toobar示例详解,这里讲解编辑器quil-editor的知识结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • vue中解决拖拽改变存在iframe的div大小时卡顿问题

    vue中解决拖拽改变存在iframe的div大小时卡顿问题

    这篇文章主要介绍了vue中解决拖拽改变存在iframe的div大小时卡顿问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Vue项目中使用vuex详解

    Vue项目中使用vuex详解

    Vuex是一个专为Vue.js应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,下面这篇文章主要给大家介绍了关于vuex模块获取数据及方法的相关资料,需要的朋友可以参考下
    2023-03-03
  • Vue子组件向父组件通信与父组件调用子组件中的方法

    Vue子组件向父组件通信与父组件调用子组件中的方法

    这篇文章主要介绍了Vue子组件向父组件通信与父组件调用子组件中的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06

最新评论