Vue中使用微信JSDK实现图片上传
1.npm安装,不会的看这里
npm install weixin-js-sdk
2.main.js全局注册
import wx from 'weixin-js-sdk'
Vue.prototype.$wx = wx
3.页面代码
<div class="uploader"><div class="col"><div class="upload already" v-for="(item,index) in file_list" :key="index"><img class="meImg" :src="item" alt=""><img class="delete" @click="deleteSkin(index)" src="https://sucai.suoluomei.cn/sucai_zs/images/20201021113620-4.png" alt=""></div><div class="upload" @click="getupload" v-if="file_list.length < 6"><img class="meImg" src="https://sucai.suoluomei.cn/sucai_zs/images/20201021111149-3.png" alt=""></div></div>
</div>
.uploader {width: 100%;height: 220px;overflow: hidden;.col {margin-top: 10px;display: flex;flex-direction: row;align-items: center;flex-flow: row wrap;.upload {position: relative;margin: 5px 10px 0 0;display: inline-block;.meImg {width: 95px;height: 95px;overflow: hidden;object-fit: cover;}.delete {position: absolute;right: 0;top: 0;width: 20px;}}}}
wx.config({debug: false,appId: 'appId',timestamp: 'timestamp',nonceStr: 'nonceStr',signature: 'signature',jsApiList: ['chooseImage', 'getLocalImgData']});
引入上传时图片压缩,压缩的js请点击这篇文章查看
import { imgPreview } from '@/utils/imgPreview.js'
deleteSkin(index) {this.file_list.splice(index, 1)},getupload() {this.$wx.ready(() => {this.$wx.chooseImage({count: 6,sizeType: ['original', 'compressed'],sourceType: ['album', 'camera'],success: (res) => {this.getpublish(res.localIds, 0)}});})},getpublish(list, i) {this.$wx.getLocalImgData({localId: list[i],success: (res) => {var localData = res.localData//将base64转换为bloblet base = atob(localData.substring(localData.indexOf(',') + 1));let length = base.length;let url = new Uint8Array(length);while (length--) {url[length] = base.charCodeAt(length);}let file = new File([url], 'a.jpg', {type: 'image/jpg'})var formData = new FormData();imgPreview(file, async files => {formData.append("file", files);formData.append('key', 'Gn1xVdBiTClSSHKZifg0pTQSU5XGagWO')axios({method: "post",url: process.env.VUE_APP_SUCAI_API,data: formData}).then((res) => {//采用递归上传if (res.data.status == 200) {this.file_list.push(res.data.info.url)if (i + 1 == list.length) {console.log('上传成功')}if (++i < list.length) {this.getpublish(list, i);}} else {alert('上传失败')}})})}});},
Vue中使用微信JSDK实现图片上传相关推荐
- Vue中使用vue-croper插件实现图片上传裁剪并传到SpringBoot后台接口
场景 前后端分离的项目,前端修改头像时,需要对头像进行裁剪并且能实时预览,然后上传到SpringBoot后台. 实现效果如下 注: 博客: https://blog.csdn.net/badao_li ...
- 微信开发h5图片上传(拍照、图片压缩、IOS照片旋转)
微信开发h5图片上传 开发环境 vue.js,原生h5 input file, 微信公众号网页 依赖安装 exif-js:IOS下拍照照片的方向有问题, 需要exif-js来读取照片信息进行旋转处理: ...
- 微信小程序图片上传九宫格拖拽组件
微信小程序图片上传&九宫格拖拽组件 前言 图片上传加九宫格拖拽是一个比较常用的组件,常用于发帖或者评论等内容上传模块,我这篇九宫格拖拽的思路是借鉴了一款优雅的小程序拖拽排序组件实现这篇文章 实 ...
- **微信小程序图片上传+后台PHP修改图片名称**
微信小程序图片上传+后台PHP修改图片名称 前端代码:比较随意 <view class="weui-uploader"><view class="img ...
- 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题 参考文章: (1)微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题 (2)https://www.cnblogs.com/co ...
- 微信小程序图片上传(文字识别)
要点:OCR文字识别 图片上传 在最近的项目中遇到需要进行OCR识别,中间遇到的坑记录一下 OCR接口:采用百度OCR通用文字识别 在进行调试过程中遇到下列问题: 百度ocr接口1.对图片经行base ...
- 微信小程序 图片上传与内容安全审核
文章目录 原由 内容审核种类 小程序云开发 图片检测 创建云函数 编写图片检测代码 小程序图片处理 图片上传 图片压缩 云函数安全检测接入 文本检测 最后的坑 原由 之前有开发一个微信小程序,拥有图片 ...
- uniApp 生成微信小程序图片上传提示 fail url not in domain list 的解决方法
问题表现: uniApp 生成微信小程序,获取内容程序不报错,但是图片上传提示 fail url not in domain list 错误. 问题分析: 微信小程序:服务器域名配置 每个微信小程序需 ...
- Vue Element UI 之富文本图片上传服务器 + 图片地址插入富文本
该案例的情况 vue版本:vue cli3 插件:vue-quill-editor vue-quill-editor的增强模块:quill-image-extend-module quill-imag ...
最新文章
- 研究生扩招20.74%!教育部公布重要数据
- java ADT生成带签名的apk
- WCF for .NET CF的一个应用及两个困惑的问题
- Jdk1.6 JUC源码解析(1)-atomic-AtomicXXX
- CodeForces - 500A-New Year Transportation(模拟)
- Winform 水印TextBox
- 201509-2-日期计算
- 「镁客·请讲」亮亮视野吴斐:行业应用体现AR硬件的价值本质
- 基于51的光立方制作
- 服装进销存软件排名前十名,最新门店进销存测评现已出排行榜
- 服务器内存有很多不显示,这里大神多,帮忙看看这个服务器内存是不是真的
- C语言运行时检查失败#2 周围的堆栈已损坏。
- id 查找apple,怎么查找我的apple id?
- 【渝粤题库】陕西师范大学201931 唐诗研究 作业
- 教程:深入理解Flash的沙箱 – Application Domains
- 网友趣解: UCWEB手机浏览器产品说明书
- 电脑蓝屏记录(RESOURCE_NOT_OWNED)
- element中的横线,element的tab,下划线不显示的问题
- 电子证书管理系统前台_电商平台后台之商品管理系统组成模块
- Android 华为手机获取相册图片路径,获取不到问题
热门文章
- 傻瓜式PHP模版,poscms傻瓜式开发模块
- php中哪些不能作为常量名,【单选题】下列选项中,不能作为常量值的是( )。A. php B. array(1,2,3) C. true D. 100...
- web前端(HTML的CSS样式和JavaScript)
- 知乎上演的“变形计“,资本市场会打几分?
- 51单片机教程:二相四线步进电机驱动
- 37种传感器(十)之手指心跳检测模块+Stduino NanoUNO
- linux 服务器 安装网卡驱动,Linux系统下安装Intel千兆网卡驱动
- 车载颚式移动破碎机让资源重生,刻不容缓
- Auto CAD:图纸材质图例(石材、瓷砖、细木工板、钢筋混凝土、 木材、夹板、黏土砖 镜面/玻璃、软质吸音层 、钢/金属、硬质吸音层、硬隔层、基层龙骨、陶质类、涂料粉刷层)的设置之详细攻略
- 一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。