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

微信小程序单图上传和多图上传

图片上传主要用到

1、wx.chooseImage(Object object)

从本地相册选择图片或使用相机拍照。

参数

Object object

属性类型默认值必填说明
countnumber9最多可以选择的图片张数
sizeTypeArray.<string>['original', 'compressed']所选的图片的尺寸
sourceTypeArray.<string>['album', 'camera']选择图片的来源
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

object.sizeType 的合法值

说明最低版本
original原图
compressed压缩图

object.sourceType 的合法值

说明最低版本
album从相册选图
camera使用相机
object.success 回调函数
参数
Object res
属性类型说明最低版本
tempFilePathsArray.<string>图片的本地临时文件路径列表
tempFilesArray.<Object>图片的本地临时文件列表1.2.0

res.tempFiles 的结构

属性类型说明
pathstring本地临时文件路径
sizenumber本地临时文件大小,单位 B
wx.chooseImage({count: 1,sizeType: ['original', 'compressed'],sourceType: ['album', 'camera'],success (res) {// tempFilePath可以作为img标签的src属性显示图片const tempFilePaths = res.tempFilePaths}
})

2、wx.uploadFile(Object object)

将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。使用前请注意阅读相关说明。

参数

Object object

属性类型默认值必填说明
urlstring开发者服务器地址
filePathstring要上传文件资源的路径
namestring文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
headerObjectHTTP 请求 Header,Header 中不能设置 Referer
formDataObjectHTTP 请求中其他额外的 form data
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
object.success 回调函数
参数
Object res
属性类型说明
datastring开发者服务器返回的数据
statusCodenumber开发者服务器返回的 HTTP 状态码

返回值

UploadTask

基础库 1.4.0 开始支持,低版本需做兼容处理。

一个可以监听上传进度进度变化的事件和取消上传的对象

示例代码

wx.chooseImage({success (res) {const tempFilePaths = res.tempFilePathswx.uploadFile({url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址filePath: tempFilePaths[0],name: 'file',formData: {'user': 'test'},success (res){const data = res.data//do something}})}
})

小程序案例:

image.png

.wxml 文件:

<view>
<button bindtap='photo' type='warn' style='width:50%; margin:50rpx auto'>选择图片</button>
</view>

.js 文件

(1)单图上传

  photo: function (e) {wx.chooseImage({count: 1,  //默认上传个数sizeType: ['original', 'compressed'],sourceType: ['album'],success(res) {// tempFilePath可以作为img标签的src属性显示图片var albumPaths = res.tempFilePaths[0]console.log('图片地址名称' + albumPaths);wx.uploadFile({url: app.appUrl + 'img',filePath: albumPaths,name: 'img',formData: {'nickName': '123',//其他参数'openid': 'xxssdazcs5gxxxaa',//其他参数},success(res) {console.log(res)}})}})},

(2)多图上传(相比单图上传,多了个for遍历)

  photo: function (e) {wx.chooseImage({count: 3,//默认上传个数sizeType: ['original', 'compressed'],sourceType: ['album'],success(res) {// tempFilePath可以作为img标签的src属性显示图片var albumPaths = res.tempFilePathsfor (var i = 0; i < albumPaths.length; i++) {console.log('图片地址名称' + albumPaths[i]);wx.uploadFile({url: app.appUrl + 'img',filePath: albumPaths[i],name: 'img',formData: {'nickName': '123',//其他参数'openid': 'xxssdazcs5gxxxaa',//其他参数},success(res) {console.log(res)}})}}})},

后端代码:

public function img(){$file = request()->file('img');$info = $file->move(ROOT_PATH . 'public' . DS . 'static/uploads/ceshi');
}

image.png

http://www.lryc.cn/news/262960.html

相关文章:

  • github入门基础操作
  • Android Studio(3.6.2版本)安装 java2smali 插件,java2smali 插件的使用方法简述
  • vscode使用remote ssh到server上 - Node进程吃满CPU
  • 如何在Go中使用日期和时间
  • 2023_Spark_实验二十九:Flume配置KafkaSink
  • Koa.js 入门手册:洋葱模型插件机制详解以及常用中间件
  • 零信任 SASE 办公安全解决方案:提升企业网络安全与灵活性
  • 【提示工程】Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
  • AWS解决方案架构师学习与备考
  • 如何搭建企业管理系统Odoo并远程访问管理界面【内网穿透】
  • 【Git】git常用问题汇总
  • 2024免费mac苹果电脑系统电脑管家CleanMyMac X
  • ElasticSearch详细搭建以及常见错误high disk watermark [ES系列] - 第497篇
  • ADB:获取坐标
  • 关于“Python”的核心知识点整理大全27
  • 实验三 MapReduce编程
  • element组件库的日期选择器如何限制?
  • QSqlQueryModel
  • docker-compose介绍和用法
  • Mac下ERROR: Cannot connect to the Docker daemon
  • 本地项目添加到gitlab命令操作
  • t-io 程序执行后,jvm不退出的原因
  • Vue3使用Three.js导入gltf模型并解决模型为黑色的问题
  • 说一下 jvm 有哪些垃圾回收算法?
  • 【23真题】一共10道题,押题卷5道!
  • JS的浅拷贝和深拷贝
  • 天软特色因子看板 (2023.12 第12期)
  • 【Logback技术专题】「入门到精通系列教程」深入探索Logback日志框架的原理分析和开发实战技术指南(上篇)
  • vue3+element Plus 清空el-tree复选框选中项
  • 【VScode】设置语言为中文