微信小程序上传组件封装uploadHelper2.0使用整理

embedded/2024/10/15 23:57:42/

一、uploadHelper2.0使用步骤说明

uploadHelper.js ---上传代码封装库

cos-wx-sdk-v5.min.js---腾讯云,对象存储封装库

第一步,下载组件代码,放置到自己的小程序项目中

第二步、 创建上传对象,执行选择图片/视频

    var _this = this;//选择图片并上传var upload = new Upload(this, {type: 'single',onSuccess: res => {var relativeName = res.relativeName;_this.setData({src1: _this.data.domain + relativeName});}});upload.choose();

第三步、.Net 后台安装 Uploader8.0 最新版本接受上传内容

        /*********Form 方式使用**********/public void Form(){try{FormReceiver _receive = new FormReceiver(this.HttpContext);//接收文件成功_receive.OnSuccess = (data) =>{// Write(string.Format("新文件名{0},旧文件名{1}", data.NewName, data.OldName));};_receive.DoWork();}catch (Exception ex){throw ex;}}

二、图片上传使用案例

参数说明:

/*** 上传控件封装,v2.0* 增加视频上传处理* * 上传类型:type* 1.single,不改变图片大小,但是压缩质量上传;适合大图上传* 2.imgsingle,不改变图片的比例,在指定范围内等比例缩放 (默认上传模式,适用高,压缩率高),最大尺寸,大图(maxWidth*maxHeight)* 3.fixedcut,固定比例缩放(maxWidth*maxHeight),最大化图片剪切* 4.cutdouble,固定最小图(minWidth*minHeight),最大图(maxWidth*maxHeight),裁剪图片* 5.imgdouble,常用缩略图模式,不改变原图片的比例,在指定范围内等比例缩放,小图(minWidth*minHeight); 大图((maxWidth*maxHeight))* 7.videosingle, 视频压缩上传默认---chooseVideo()* 8.videotencent,视频腾讯云上传模式---chooseVideo()------(特别说明,视频目前进支持腾讯云上传)* * 参数说明:* url:上传地址* count: 可上传数量,最大值20* maxWidth,maxHeight:大图片上线* minWidth,minHeight: 小图上线* auto:是否自动上传* onSuccess:一张图片上传成功* onError:图片上传失败*/

1.single 简单图片上传------如上代码案例就是

2.imgsingle  案例

不改变图片的比例,在指定范围内等比例缩放 (默认上传模式,适用高,压缩率高),最大尺寸,大图(maxWidth*maxHeight)

<button bind:tap="imgsingleClick">imgsingle 压缩上传上传
</button>
<image src="{{src2}}" mode="" />
<view class="line"></view><!-- 上传控件 -->
<view style='width:1px;height:1px;overflow:hidden;position: fixed;left:10000px;top:0px;'><canvas id='CanvasUpload' type="2d" style='width:{{canWidth}}px;height:{{canHeight}}px;'></canvas>
</view>
  imgsingleClick() {var _this = this;//选择图片并上传var upload = new Upload(this, {type: 'imgsingle',maxWidth: 500,maxHeight: 500,onSuccess: res => {var relativeName = res.relativeName;_this.setData({src2: _this.data.domain + relativeName});}});upload.choose();},

3.fixedcut 案例

固定比例缩放(maxWidth*maxHeight),最大化图片剪切

  fixedcutClick() {var _this = this;//选择图片并上传var upload = new Upload(this, {type: 'fixedcut',maxWidth: 500,maxHeight: 500,onSuccess: res => {var relativeName = res.relativeName;_this.setData({src3: _this.data.domain + relativeName});}});upload.choose();},

4.cutdouble 案例

固定最小图(minWidth*minHeight),最大图(maxWidth*maxHeight),裁剪图片

  cutdoubleClick() {var _this = this;var imgList=[];//选择图片并上传var upload = new Upload(this, {type: 'cutdouble',minWidth: 300,minHeight: 300,maxWidth: 1000,maxHeight: 1000,onSuccess: res => {console.info(res);var srcsmall = _this.data.domain + res.small.relativeName;var srcbig = _this.data.domain + res.big.relativeName;_this.setData({srcsmall: srcsmall,srcbig: srcbig});},onAllSuccess:res=>{}});upload.choose();},

5.imgdouble 缩略图案例

常用缩略图模式,不改变原图片的比例,在指定范围内等比例缩放,小图(minWidth*minHeight); 大图((maxWidth*maxHeight))

  imgdoubleClick() {var _this = this;var imgList = [];//选择图片并上传var upload = new Upload(this, {type: 'imgdouble',minWidth: 300,minHeight: 300,maxWidth: 1000,maxHeight: 1000,onSuccess: res => {console.info(res);var srcsmall = _this.data.domain + res.small.relativeName;var srcbig = _this.data.domain + res.big.relativeName;_this.setData({srcsmall: srcsmall,srcbig: srcbig});},onAllSuccess: res => {}});upload.choose();},

三、视频上传使用案例chooseVideo()

1.videosingle  ---视频压缩切片上传(暂时没有封装,2.0版本忽略)

2.videotencent 案例 ---视频腾讯云上传模式---chooseVideo()------(特别说明,视频目前进支持腾讯云上传)

使用步骤:

1. 小程序上传 白名单,添加配置 上传域名+ 视频播放域名

2. 配置 腾讯云 对象存储参数如下

3. 页面实现功能代码:

<button bind:tap="videotencentClick">选择视频文件</button><video src="{{videourl}}" />
  videotencentClick() {var _this = this;/**** * 特别说明,暂时不支持视频上传到自建服务器*///选择图片并上传var upload = new Upload(this, {type: 'videotencent',onSuccess: res => {var videourl = res.absoluteName;_this.setData({videourl});},onAllSuccess: res => {}});upload.chooseVideo(); //选择视频},

上传效果:

更多:

维信小程序禁止截屏/录屏

小程序>微信小程序canvas 使用案例(一)

小程序>微信小程序数组绑定使用案例(二)


http://www.ppmy.cn/embedded/128141.html

相关文章

Spring Boot技术在医疗病历B2B交互中的实践与挑战

第6章 程序测试与评价 6.1 程序调试 在设计系统的过程中&#xff0c;存在一些错误是必然的。对于语句的语法错误&#xff0c;在程序运行时自动提示&#xff0c;并请求立即纠正&#xff0c;因此&#xff0c;这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的…

nginx配置多个SSL证书实操记录

文章目录 [TOC](文章目录) 前言配置方式一配置方式二总结 前言 因为一些原因&#xff0c;客户需要更换域名和证书&#xff0c;而原有系统在用&#xff0c;包含一个APP&#xff0c;一个小程序&#xff0c;一个web站点。需要做到无感更换域名。查阅资料后发现nginx可以支持配置多…

外包干了5天,技术明显退步

我是一名本科生&#xff0c;自2019年起&#xff0c;我便在南京某软件公司担任功能测试的工作。这份工作虽然稳定&#xff0c;但日复一日的重复性工作让我逐渐陷入了舒适区&#xff0c;失去了前进的动力。两年的时光匆匆流逝&#xff0c;我却在原地踏步&#xff0c;技术没有丝毫…

svg雪碧图(svg-sprite-loader)方案

webpack使用svg-sprite-loader传送门 vite使用vite-plugin-svg-icons传送门 步骤、原理详细介绍在↑。 下面是步骤总结&#xff1a; svg-sprite-loader: 安装依赖&#xff1a;yarn add svg-sprite-loader -Dvue.config.js配置插件。需要先移除原先的svg规则&#xff0c;再单独…

使用fastjson解析json格式数据

在java里面无法直接解析JSON格式的字符串或文本&#xff0c;这时候我们就需要一个解析json格式的库&#xff0c;我们这里用fastjson,接下来的代码操作如下&#xff1a; 1、导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson&…

复试经验分享《三、计算机学科专业基础综合》- 数据结构篇

复试经验分享 三、计算机学科专业基础综合 3.1 数据结构 3.1.1 概念 时间复杂度 时间复杂度是指执行算法所需要的计算工作量一般情况下&#xff0c;按照基本操作次数最多的输入来计算时间复杂度&#xff0c;并且多数情况下我们去最深层循环内的语句所描述的操作作为基本操作…

python爬虫--采集番茄小说网小说

python爬虫--采集番茄小说网小说 一、查找数据接口二、数据提取三、完整代码一、查找数据接口 进入小说页面,打开开发者工具,刷新页面: 找到数据接口,为网页文件。 二、数据提取 数据提取使用的是python的第三方库parsel。 三、完整代码 import random import time i…

Vue:开发小技巧

目录 1. Table表格偏移 1. Table表格偏移 通过设置自小的宽度进行控制 :min-width <el-table-column label"操作" align"center" class-name"small-padding fixed-width" fixed"right" min-width"150px"><templa…