vue阿里云上传组件详解

本文主要介绍如何在vue项目中使用web直传方式上传阿里云oss图片,默认读者对vue框架和阿里云oss有一定的了解,整体的流程是加载好阿里云sdk -> 初始化上传客户端client -> 等待文件选择 -> 文件选择进行上传 -> 分发上传结果  

使用过程中我碰到以下的坑:

1. 本文使用的是js引入形式的阿里云sdk,用npm形式的sdk会需要一些后端的node功能,不能用于web直传。

可以直接在html里面加上script标签


登录后复制

组件里我包装了一个异步获取sdk的方法LoadJS,感兴趣的可以看一下

2. 使用js引入形式的sdk会有一个异步的问题,就是client初始化的时候sdk可能还没加载好,我是在vue的mouted钩子函数内设置了一个定时器,当SDK加载的完成之后再来初始化client

let timer = setInterval(() => {  if (window.OSS) {    this.init()    clearInterval(timer)    timer = null    this.debug && window.console.log('阿里云oss初始化完成')  } else {    this.debug && window.console.log('阿里云oss初始化中...')  }}, 500)

登录后复制

3. 如果你的项目是https环境下的,需要保证初始化client的时候配置secure为true,不然无法上传文件

4. 在默认情况下,保存的图片名会取一个随机的字符串,但是同一张图片多次上传就会保存多个相同图片,这边我做了一个优化,将图片的大小和高宽拼接成一个字符串,再对这个字符串进行md5 hash化处理,这样同一张图片上传多次也只会保存一张

相关推荐:

浅谈 上传组件 核心架构设计

立即学习“前端免费学习笔记(深入)”;

php 多文件上传组件_PHP教程

JS上传组件FileUpload自定义模板的使用方法_javascript技巧

以上就是vue阿里云上传组件详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2788220.html

(0)
上一篇 2025年3月8日 18:23:25
下一篇 2025年3月8日 18:23:33

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Angular4中常用管道实例详解

    通常我们需要使用管道实现对数据的格式化,angular4中的管道和之前有了一些变化。本文主要介绍angular4中常用管道,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 一、大小写转换管道 …

    编程技术 2025年3月8日
    200
  • Vue shopCart 组件开发实例详解

    本文主要和大家介绍vue shopcart 组件开发详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 一、shopCart组件 (1) goods 父组件和 子组件 shopCart 传参…

    编程技术 2025年3月8日
    200
  • js数组和对象的深浅拷贝详解

    本文主要为大家详细介绍js实现数组和对象的深浅拷贝,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望梦帮助到大家。 前提:原始数据类型和对象类型赋值时的差异 JavaScript的数据类型分为原始数据类型和对象类型。二者在内存中存放的…

    编程技术 2025年3月8日
    200
  • Vue生命周期、手动挂载及挂载子组件

    本文主要和大家介绍vue生命周期和手动挂载,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 1、vue的生命周期: 2、$mount()手动挂载 当Vue实例没有el属性时,则该实例尚没有挂载…

    2025年3月8日
    200
  • 实例详解react.js父子组件数据绑定实时通讯

    本文主要和大家介绍react.js 父子组件数据绑定实时通讯的示例代码,react.js我自己还在摸索学习中,碰到父子组件数据绑定实时通讯的问题,研究了一下,分享给大家,也给自己留个笔记: import React,{Component} …

    编程技术 2025年3月8日
    200
  • Map以及常用api实例详解

    ecmascript 6中的map类型是一种存储着许多键值对的有序列表。键值对支持所有的数据类型. 键 0 和 ‘0’会被当做两个不同的键,不会发生强制类型转换.本文主要为大家带来一篇es6系列教程_ map详解以及常用api介…

    2025年3月8日
    200
  • JS中的BOM应用详解

    本文我们住要和大家分享js中的bom应用详解,我们曾经讲过js由三部分组成,其中一个部分就是bom,用于对浏览器进行操作。这节课我们主要就来介绍bom。 BOM基础 我们先来看一个BOM的最基础功能:打开、关闭窗口: 无标题文档 登录后复制…

    2025年3月8日
    200
  • React16.2的fiber架构详解

    本文主要和大家分享react16.2的fiber架构详解,希望能帮助到大家。insertupdateintofiber 会根据fiber的状态创建一个或两个列队对象,对象是长成这样的对象是长成这样的 //by 司徒正美, 加群:370262…

    2025年3月8日 编程技术
    200
  • js面向对象之继承知识详解

    说到这个继承,了解object-oriented的朋友都知道,大多oo语言都有两种,一种是接口继承(只继承方法签名);一种是实现继承(继承实际的方法)本文主要和大家介绍js面向对象之继承的相关知识,以及分享了读者弄明白这个知识点的学习心得,…

    2025年3月8日
    200
  • vue之v-if和v-show的区别详解

    本文主要和大家介绍vue学习笔记之v-if和v-show的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 v-if vs v-show v-if 是“真正的”条件渲染,因为它会确保在切换…

    2025年3月8日
    200

发表回复

登录后才能评论