热搜: fiddler git ip 代理
历史搜索

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

游客2024-08-02 09:30:01

微信小程序中实现选中手机相册图片上传到服务器,我们需要使用 chooseImg 和 uploadFile 这两个 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 文件:

<button bindtap="choose_UpImage">选择图片进行上传</button>

2. js 文件:

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('上传失败')
	          }
	        })
	      }
	    })
  },
})

以上就是关于微信小程序中选中手机相册图片上传到服务器的方法的全部内容,希望对大家有用。

标签:前端开发