关于小程序编辑用户信息时的默认头像

47 阅读1分钟

有没有小伙伴在写小程序的时候遇到这个问题,编辑或者新建用户时,用户不上传头像,需要一个默认的头像。作者在之前遇到过一次这个需求,记录一下这次踩坑经历。

//把其他的逻辑都刨除了,只剩下上传图片
const clickBtn = ()=>{
//因为是使用静态资源所以不能使用wx.chooseImage
let path = '图片的静态资源路径(/static/icon/headerImg.png)'
wx.uploadFile({
	url: proxy.$server.bindStudentInfo,
	filePath: path,
	header: {
		Authorization: `JWT ${token}`,
		},
	name: 'headImage',
	formData: query,
	timeout: 10000,
	success(res) {
	
		}
	})
}
//写成上边这样,如果不上传图片也可提交信息,亲测可用,但是仅限安卓,ios系统就会报错,不知道为什么,提交为线上版本后,使用苹果手机点击提交就会报错,具体原因我也不是很清楚,反正结果就是找不到这个图片,如果各位小伙伴有什么好办法可以评论给我。
=========================================================================
//于是后来我找到了一个方法,他的名字叫wx.compressImage,这个方法是用来压缩图片质量的,具体用法如下。
wx.compressImage({
  src: '', // 图片路径
  quality: 80 // 压缩质量
  success(res){
  //他这里会生成一个临时的文件,他就是res.tempFilePath
  }
})
=========================================================================
//所以我们可以酱紫
const clickBtn = ()=>{
wx.compressImage({
  src: '/static/icon/headerImg.png', // 图片路径就写静态资源的路径就好了
  quality: 80,
  success(res){
    let path = res.tempFilePath
    wx.uploadFile({
	url: proxy.$server.bindStudentInfo,
	filePath: path,
	header: {
		Authorization: `JWT ${token}`,
		},
	name: 'headImage',
	formData: query,
	timeout: 10000,
	success(res) {
	
		}
	  })
       }
   })
}
//这样就可以利用微信的临时文件上传啦