当前位置: 首页 > news >正文

vue七牛云上传图片

1.安装七牛云

npm安装

npm install qiniu-js

yarn安装

yarn add qiniu-js

在单个页面引入

import * as qiniu from "qiniu-js";
                    <van-uploader :after-read="afterRead" :before-delete="beforeDelete" :max-count="1" v-model="fileList"style="position: relative;"><div style="position: relative; width: 86px;height: 86px;"><img src="../img/uploader.png" alt=""><div class="slogo">上传logo</div></div></van-uploader>
 //上传文件 判断是否为.png-.jpg .gif .jpegafterRead(files) {// 此时可以自行将文件上传至服务器const indexOfSuffix = files.file.name.lastIndexOf(".");const suffix = indexOfSuffix >= 0 ? files.file.name.substr(indexOfSuffix) : "";if (suffix === '.png' || suffix === '.jpg' || suffix === '.gif' || suffix === '.jpeg') {this.uploadFile(files.file);} else {Toast('暂不支持该图片格式');}},//上传图片 首先调取接口获取七牛云的tokenuploadFile(file) {const indexOfSuffix = file.name.lastIndexOf("."); //后缀名const suffix = indexOfSuffix >= 0 ? file.name.substr(indexOfSuffix) : "";const filename = "op_" + moment().unix() + suffix; // 时间戳+后缀名const key = this.pre + filenameif (file) {this.axios.get('apply/guild/getUploadToken').then(res => {if (res.data.Code === '8000') {const putExtra = { fname: "", params: {}, git: null };const config = { useCdnDomain: true, region: qiniu["region"].as0 };let observable = qiniu["upload"](file, //要上传的文件对象。key, //上传到七牛云后的文件名或路径(也就是图片的后缀)。res.data.Result.UploadToken, //从服务器获取的七牛云上传凭证。putExtra, //额外的设置参数,包括文件名、自定义参数和自定义变量。config //配置参数,设置是否使用CDN加速和所选的七牛云存储区域。);observable.subscribe({next: ((response) => {if (response.total.percent >= 100) {Toast('上传成功');}}),error: ((err) => {Toast('上传失败,请稍微再试');}),complete: ((response) => {const key = response.key; // 获取七牛云返回的 key// 在这里可以进行后续操作,如保存 key 到数据库等this.from.LogoImg = key})})}})}}

相关文章:

  • leetcode 202 快乐数
  • AcWing 3555:二叉树(北京大学考研机试题)→公共父结点
  • PRCD-1229 : An attempt to access configuration of database
  • String转Date,Date转String
  • Python 潮流周刊#29:Rust 会比 Python 慢?!
  • 腾讯云双十二优惠活动有哪些?详细攻略来了!
  • Docker 安装部署 Sentinel Dashboard
  • enable_shared_from_this使用介绍
  • 【征稿倒计时十天,ACM独立出版,有确定的ISBN号,ei检索稳且快】
  • 时间序列数据压缩算法简述
  • SocialSelling社交销售1+5+1方法论系列:社交销售价值何在
  • 新手村之SQL——函数多表联结
  • 阿里云效一键部署前后端
  • 第十五届蓝桥杯模拟赛(第二期 C++)
  • 好用的挂耳式蓝牙耳机有哪些?分享几款热门好用的蓝牙耳机
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • ➹使用webpack配置多页面应用(MPA)
  • CSS中外联样式表代表的含义
  • oldjun 检测网站的经验
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • tab.js分享及浏览器兼容性问题汇总
  • underscore源码剖析之整体架构
  • 后端_ThinkPHP5
  • 解析 Webpack中import、require、按需加载的执行过程
  • 看域名解析域名安全对SEO的影响
  • 蓝海存储开关机注意事项总结
  • 利用DataURL技术在网页上显示图片
  • 免费小说阅读小程序
  • 配置 PM2 实现代码自动发布
  • Mac 上flink的安装与启动
  • scrapy中间件源码分析及常用中间件大全
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • $.ajax()
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (39)STM32——FLASH闪存
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (分布式缓存)Redis持久化
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • ***详解账号泄露:全球约1亿用户已泄露
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET delegate 委托 、 Event 事件,接口回调
  • .Net Remoting常用部署结构
  • .NET 发展历程
  • .NET 依赖注入和配置系统
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET大文件上传知识整理
  • .NET企业级应用架构设计系列之结尾篇
  • @KafkaListener注解详解(一)| 常用参数详解
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [20171106]配置客户端连接注意.txt