uniapp APP用户修改头像(上传到OSS)

点击头像进行修改头像

点击头像跳转到新的页面(先判断用户是否登陆),选择图片,确认上传。


<image class="portrait" :src="headimg ||imagUrl('../../../static/missing-face.png')" @click="navtophoto()"></image>


此页面结构如图(kps-image-cutter为剪切图片插件):


选择图片:

 chooseImage() {uni.chooseImage({success: res => {// 设置url的值,显示控件this.url = res.tempFilePaths[0];}});},

确认上传: 1将图片资源存到云服务器,返回图片链接。 2同时向后端发请求修改用户的图片链接。that.path为需要上传的图片路径,

 sureImage(){var that=this;util.fn_upload(0,0,[that.path],function successc(e) {//上传成功的回调,向后端发请求修改用户的图片链接。var data = {mid: that.mid,headimg: JSON.parse(e.data).url};var path = 'member.headimage/set';var method = 'get';//自己封装的uniapp request请求方法util.fn_request(path, data, method, callback);function callback(res) {console.log(res.data.info);uni.hideLoading();if (res.data.info) {uni.showToast({title: '头像修改成功',icon: 'none'});}}},function failc(e) {uni.hideLoading();uni.showToast({title: '网络出了小差',icon: 'none'});});
}
在公用方法util中添加方法:import config, { ossConfig } from './config';
import uploadOSSFile from './libs/ossutil/uploadFile.js';
function fn_upload(useless1, useless2, tempFilePaths, successc, failc) {// useless1 和 useless2 是模拟之前的函数接口var filePath = tempFilePaths[0];var dir = randomString(40) + '/';var url = ossConfig.uploadUrl;return uploadOSSFile(filePath, dir, url, function(url) {// 模拟之前的 callbacksuccessc && successc({data: JSON.stringify({url: url})})}, function(error) {console.error(error);failc && failc(error);});
}function randomString(len = 10) {var result           = '';var characters       = 'abcdefghijklmnopqrstuvwxyz0123456789';var charactersLength = characters.length;for ( var i = 0; i < len; i++ ) {result += characters.charAt(Math.floor(Math.random() * charactersLength));}return result;
}
export default {
fn_upload,
randomString
}
uploadOSSFile。为工具文件uploadOSSFile.js。
可在此下载:**https://gitee.com/zhang123xx/uploadOSSFile.git**

在config公用文件中配置:


export const ossConfig = {// 你的阿里云地址最后面跟上一个/   在你当前小程序的后台的uploadFile 合法域名也要配上这个域名// uploadImageUrl: ".....................",uploadUrl: "...................",uploadSecureUrl: ".......................",AccessKeySecret: '.....................', // AccessKeySecret 去你的阿里云上控制台上找OSSAccessKeyId: '...................', // AccessKeyId 去你的阿里云上控制台上找timeout: 87600 //这个是上传文件时Policy的失效时间
}

uniapp APP用户修改头像(上传到OSS)相关推荐

  1. Uni-app 微信小程序头像上传

    uni-app 提供了很多图片处理的Api,比如 uni.chooseImage()方法,但基本都是本地.拍照上传,本地临时.持久存储,要想跟服务端交互,就需要使用上传Api uni.uploadFi ...

  2. 修改头像上传至七牛云Java实现

    目录

  3. Java实现用户头像上传(修改默认文件大小限制)

    概述 每次说起文件上传,就不得不提一下前端的实现方式,说来也奇怪,本博主最热门的博客居然也是文件上传,3万多的访问量占了总访问量的一多半:<传统form表单提交方式的文件上传与文件存储>, ...

  4. SpringBoot + Vue 前后端分离(用户信息更新头像上传Markdown图片上传)

    文章目录 前言 用户信息更新 前端发送 后端接口 修改用户头像 前端 前端图片显示 图片上传 完整 代码 后端代码 图片存储 图片上传工具类 图片工具类的配置 工具类实现 效果 Markdown 图片 ...

  5. PHP+ajaxfileupload 实现用户头像上传

    今天写项目的时候需要一个让登录的用户上传头像的功能,然后上网搜了一下,发现有一个不错的Ajax插件ajaxfileupload,所以就拿来用,感觉效果不错,在这里和大家分享一下.下面将用PHP+aja ...

  6. 利用formajax头像上传及修改

    0. 如果您对数据传输过程中的编码格式,不是很清楚,这边来 前后端数据传输编码格式https://blog.csdn.net/qq_52385631/article/details/122821865 ...

  7. 用户头像上传之 jQuery+ajax+php+预处理

    小知识: dataType:预期的服务器返回的数据类型 当设置了dataType:"json"时,后端返回了json,就自动将JSON格式字符串转换为js对象,如果后端返回了Str ...

  8. uniapp头像上传功能

    问题:第一次做头像上传,使用普通的uni.request方法请求接口会报跨域 解决:实际上uni-app官方有头像上传的API,我也翻看了很多博主的文章,最后自己按照人家的思路敲出来了,方法如下: ​ ...

  9. uni-app的头像上传

    page.json配置路由 "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/page ...

最新文章

  1. git提交时支持文件名大小写的修改
  2. linux编程:getenv,putenv,setenv
  3. tensorflow 数据格式
  4. android通知图标变白色,android 7.0通知图标出现白色方块
  5. iView 一周年了,同时发布了 2.0 正式版,但这只是开始...
  6. mongoDB高级查询
  7. 多模块顺序_软件架构基础 3: 什么是好的模块化代码?高内聚、低耦合如何衡量?...
  8. mysql lastid_轻松掌握MySQL函数中的last_insert_id()
  9. 求1+2!+3!+...+20!的和。
  10. 极客大挑战基础部分解题过程
  11. C/C++ 实现模拟键盘鼠标
  12. wps怎么免费导出简历_稻壳儿简历免费手机,手机wps如何免费导出简历?
  13. 关于此应用无法在你的电脑上运行的解决方案
  14. C++ Builder和托管C++中属性的使用建议
  15. 零基础学Arcgis系列教程
  16. 验证身份证是否真实有效
  17. 形容计算机专业好句子,形容专业水平高的词句
  18. 【RoCE】Flow Control
  19. 2010网易校园招聘笔试题
  20. 公司金融02.净现值与内部收益率

热门文章

  1. 短视频推广转到直播领域,探店达人做好直播的秘诀是什么
  2. 使用TCP协议进行路由跟踪
  3. js定时器与数码时钟案例(源码及备注)
  4. pyecharts地理坐标系只显示南海诸岛问题
  5. 阿里、腾讯、网易、头条、微策略、CVTE、百词斩面试经验总结
  6. hh24:mi:ss与hh24:mm:ss的区别
  7. Android 4.0以上设备的虚拟按键中menu键的显示问题
  8. 框架/组件漏洞系列1:struts2漏洞汇总
  9. HDFS系统上使用命令hadoop fs -rm -rf 误删文件补救
  10. 开源免费的 LoRa App 设计原理和组件