【微信小程序】上传头像
2021/11/7 17:09:51
本文主要是介绍【微信小程序】上传头像,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
效果
代码
editInfo.js
// pages/editInfo/editInfo.js Page({ /** * 页面的初始数据 */ data: { dataList: [] }, /** * 获得图片本地路径 */ chooseWxImage: function () { const that = this; wx.chooseImage({ // 最多可以选择的图片张数 count: 1, // 所选的图片的尺寸 sizeType: ['original', 'compressed'], // 选择图片的来源 sourceType: ['album', 'camera'], success: function (res) { wx.showToast({ title: '正在上传...', icon: 'loading', mask: true, duration: 10000 }); console.log(res); console.log(res.tempFilePaths[0]); that.upImgs(res.tempFilePaths[0], 0); // 调用上传方法 }, fail: function (res) { console.log('fail', res); }, complete: function (res) { } }); }, /** * 上传服务器 * @param {*} imgurl * @param {*} index */ upImgs: function (imgurl, index) { const that = this; wx.uploadFile({ url: `http://api`, // 小程序本地的路径 filePath: imgurl, // 后台获取我们图片的key name: 'file', header: { 'content-type': 'multipart/form-data' }, // 额外的参数formData formData: {}, success: function (res) { const datas = JSON.parse(res.data); console.log(datas); if (datas.code === 1) { wx.setStorageSync('PROFILEURL', 'http://' + datas.data); const profileUrl = wx.getStorageSync('PROFILEURL'); that.setData({ profileUrl: profileUrl }); wx.showToast({ title: '头像上传成功', icon: 'success', duration: 2000, mask: true, success: res => {} }); console.log('success', res); // 接口返回网络路径 } else { wx.showModal({ title: '错误提示', content: datas.message, showCancel: false, success: function (res) { } }); console.log('fail', datas.message); } }, fail: function (res) { console.log('fail', res); wx.hideToast(); wx.showModal({ title: '错误提示', content: '上传图片失败', showCancel: false, success: function (res) { } }); } }); }, /** * 生命周期函数--监听页面加载 */ onl oad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } });
profile.js
// pages/profile/profile.js // 获取本地缓存 const USERID = wx.getStorageSync('USERID'); const ROLEID = wx.getStorageSync('ROLEID'); const PROFILEURL = wx.getStorageSync('PROFILEURL'); const NICKNAME = wx.getStorageSync('NICKNAME'); const POSTNUM = wx.getStorageSync('POSTNUM'); const FANSNUM = wx.getStorageSync('FANSNUM'); const INTRODUCE = wx.getStorageSync('INTRODUCE'); const TAGLIST = wx.getStorageSync('TAGLIST'); Page({ /** * 页面的初始数据 */ data: { UserInfo: [{ profileUrl: PROFILEURL, nickname: NICKNAME, postNum: POSTNUM, fansNum: FANSNUM, introduce: INTRODUCE, tagList: TAGLIST }], pageNum: 1, userPageSize: 4, personalId: USERID, userId: USERID, onRefresh: false, roleId: ROLEID }, /** * 刷新普通用户信息 * @param {*} event */ updateUserInfo: function () { // 获取本地缓存 const PROFILEURL = wx.getStorageSync('PROFILEURL'); const NICKNAME = wx.getStorageSync('NICKNAME'); const POSTNUM = wx.getStorageSync('POSTNUM'); const FANSNUM = wx.getStorageSync('FANSNUM'); const INTRODUCE = wx.getStorageSync('INTRODUCE'); const TAGLIST = wx.getStorageSync('TAGLIST'); // 更新缓存 const that = this; for (let i = 0; i < that.data.UserInfo.length; i++) { // console.log(that.data.UserInfo.length); const profileUrl = 'UserInfo[' + i + '].profileUrl'; const nickname = 'UserInfo[' + i + '].nickname'; const postNum = 'UserInfo[' + i + '].postNum'; const fansNum = 'UserInfo[' + i + '].fansNum'; const introduce = 'UserInfo[' + i + '].introduce'; const tagList = 'UserInfo[' + i + '].tagList'; that.setData({ [profileUrl]: PROFILEURL, [nickname]: NICKNAME, [postNum]: POSTNUM, [fansNum]: FANSNUM, [introduce]: INTRODUCE, [tagList]: TAGLIST }); } // console.log(that.data.UserInfo[0].profileUrl); }, /** * 跳转编辑资料界面 */ gotoEditInfo: function (event) { // 当前要跳转到另一个界面,但是会保留现有界面 wx.navigateTo({ url: `../editInfo/editInfo?${this.data.dataList}` }); }, /** * 生命周期函数--监听页面加载 */ onl oad: function (options) { const that = this; if (USERID === 0) { wx.redirectTo({ url: 'pages/login/login' }); } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { // 每次回到这个页面都要更新缓存 const that = this; if (ROLEID === 1) { that.updateUserInfo(); } else { wx.showToast({ title: '用户未登录!', // 提示的内容, icon: 'none', // 图标, duration: 2000, // 延迟时间, mask: true, // 显示透明蒙层,防止触摸穿透, success: res => {} }); console.log('用户未登录!'); } }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } });
这篇关于【微信小程序】上传头像的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-13微信小程序如何封装接口域名?-icode9专业技术文章分享
- 2024-11-13如何在微信小程序中实现直传功能?-icode9专业技术文章分享
- 2024-11-13如何在小程序的地图组件中添加标记和文字?-icode9专业技术文章分享
- 2024-11-13在微信小程序的地图组件中如何实现自定义标记和气泡?-icode9专业技术文章分享
- 2024-11-01微信小程序教程:零基础入门到实战
- 2024-11-01微信小程序全栈教程:从入门到实践
- 2024-10-31微信小程序怎么实现关注公众号功能-icode9专业技术文章分享
- 2024-10-30微信小程序cover-view,支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序的cover-image支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序web-view怎么设置高度?-icode9专业技术文章分享