微信小程序中选中手机相册图片上传到服务器的方法

思路: 实现图片上传我们需要使用chooseImguploadFile 这两个api。
1. 微信小程序中的chooseImg是一个API,用于在用户相册或相机中选择图片上传。它可以让用户在小程序中选择上传图片,以便进行下一步操作,例如将其发送给朋友或将其上传到服务器。
2. 使用chooseImg API,您可以通过以下步骤实现在小程序中选择图片上传:

步骤:
1. 在wxml文件中添加一个按钮或其他可触摸元素,以触发选择图片的操作。

2. 在js文件中使用wx.chooseImage(options)函数来触发选择图片的操作。

3. 在options参数中,可以设置maximum选项以限制用户选择的图片数量,可以设置sizeType选项以限制图片的大小,可以设置sourceType选项以限制图片源(相册或相机)。

4. 选择完成后,可以使用wx.uploadFile(options)函数将图片上传到服务器。

代码:

1. wxml文件:

go 复制代码
<button bindtap="choose_UpImage">选择图片进行上传</button>

1. js文件:

go 复制代码
Page({

  choose_UpImage: function () {
	    wx.chooseImage({
	      count: 1, //count参数设置为1,表示选择一张图片
	     sizeType: ['original', 'compressed'],//表示选择原图和压缩图两种尺寸的图片。
	     sourceType: ['album', 'camera'],//album表示选择相册来源的图片、camera表示相机来源的图片
	      success: function (res) {
	      //通过res.tempFilePaths获取到选中图片的临时文件路径
	        var tempFilePaths = res.tempFilePaths 
	        wx.uploadFile({
	          url: 'https://网址.com/wave/upload/headImg',
	          //filePath参数设置为tempFilePaths[0],表示要上传的文件路径,使0用的是选中图片的临时文件路径。
	          filePath: tempFilePaths[0], 
	          //name参数设置为'file",表示在服务器接收到的文件的name参数的值为file
	          name: 'file',
	          //表示在服务器接收到的文件的formData参数设置为user:test,formData参数的值为user:test
	            formData: {
	              'user': 'test'
	            },
	          success: function (res) {
	             var fanhui_data = res.data 
// {"data":{"src":"statics/uploadfiles/1712036877769.jpg"},"code":0,"msg":""}
	              console.log('上传成功,返回的整体数据========'+fanhui_data)
	              //接受的数据  需要转化为json数据 
	              let JsonSrc =  JSON.parse(fanhui_data)
	              console.log("返回的整体数据进行json转换:",JsonSrc)
	              console.log("上传成功,返回图片的路径========"+JsonSrc.data.src)
	          },
	          fail: function (res) {
	            console.log('上传失败')
	          }
	        })
	      }
	    })
  },


})
相关推荐
辻弋2011 小时前
一键优化电源计划、游戏模式、独显强制、禁用后台录制——DeltaForceBooster专治三角洲行动卡顿掉帧,所有改动可一键还原
服务器·数据库·windows·游戏·电脑·php
xcLeigh1 小时前
Go入门:基本数据类型全览与选择指南
android·服务器·golang·教程·go热门
何以解忧,唯有..2 小时前
Python os模块详解:文件与目录操作指南
java·服务器·python
Brilliantwxx2 小时前
【Linux】 进程(3)深度解析:从查看进程到进程状态
linux·服务器·网络·c++
我星期八休息2 小时前
Linux—五种IO模型与非阻塞IO
linux·运维·服务器·网络·数据库·网络协议
hweiyu002 小时前
Linux命令:column
linux·运维·服务器
绿蚁新亭2 小时前
Markdown Wiki 网页代码块复制至欧拉 Linux Shell 脚本隐形字符故障完整复盘
linux·运维·服务器
Loongproxy3 小时前
2026年动态IP代理真实可用率怎么横评?爬虫选代理的关键是什么
服务器·网络·网络协议·tcp/ip
mengge.cloud3 小时前
LVS 小白完整教程(Linux虚拟服务器负载均衡)
linux·运维·服务器·负载均衡·lvs
秦渝兴3 小时前
LVS-DR 高可用集群实战:NFS + Web + DNS + Keepalived 全套架构
linux·服务器·网络·lvs