uni-app 相机相册选择图片转base64

一、base64 需求说明:
后端上传图片接口,是post请求。接口如下:

二、接口规则
请求方法:POST
请求数据类型:JSON

请求头(HEADER)
1、时间戳
2、token
3、sign

请求参数(BODY)
images array[string] :图片base64的数组
imageType string : 1:头像 2:·业务图片

请求示例:
请求:
{
“images”:[“p1”,“p1”,“p2”],
“imageType”:1
}

成功返回:
{
“code”:“200”,
“msg”:“Success”,
“response”: {
“sub_code”: “200”,
“sub_msg”: “Success”,
“content”: [
"图1绝对url ",
"图2绝对url “,
“图3绝对url "
]
},
“sign”:””
},

三、上传图片
这样子就暂时不能使用uni-app 官方的uni.uploadFile 上传的相关方法咯。
uni.uploadFile 上传,可以参考下面文章
https://blog.csdn.net/Neil_1993/article/details/89680940

网络官方组件库看了很多组件,都是如下代码

uni.getFileSystemManager().readFile({
filePath: res.tempFilePaths[0], //选择图片返回的相对路径
encoding: ‘base64’, //编码格式
success: res => { //成功的回调
let base64 = ‘data:image/jpeg;base64,’ + res.data //不加上这串字符,在页面无法显示的哦
that.imageList.push(base64);
}
});

但是我这边是app,使用时候,提示没有权限。后来找到了,app使用的不是这个方法。
具体如下:
plus.io.resolveLocalFileSystemURL(chooseImageRes.tempFilePaths[0], function(entry){

下面是:选择相机相册的整个方法
变量解释:
imageList: 本地图片路径 数组
imageBase64List: base64格式的图片 数组

async changeImage() {
console.log(“需要修改头像”);
uni.chooseImage({
count: 1, //默认9
sizeType: [‘original’, ‘compressed’], //可以指定是原图还是压缩图,默认二者都有
sourceType: [‘album’, ‘camera’], //从相册选择
success: (chooseImageRes) => {
// 下面 本地地址ok
this.imageList = chooseImageRes.tempFilePaths;
//#ifdef APP-PLUS
plus.io.resolveLocalFileSystemURL(chooseImageRes.tempFilePaths[0], function(entry){
// 可通过entry对象操作test.html文件
entry.file( function(file){
var fileReader = new plus.io.FileReader();
fileReader.readAsDataURL( file );
fileReader.onloadend = function(evt) {
that.imageBase64List = that.imageBase64List.concat(evt.target.result);
that.uploadImage(that.imageBase64List);
}
})
})
//#endif
}
});
},

uni-app 相机相册选择图片转base64相关推荐

  1. uni-app 从本地相册选择图片或使用相机拍照

    终于弄懂这个选择图片的流程,删除了很多不需要的地方,最终得到的就是这个版本 页面部分 <view>上传图片 {{imageList.length}}/{{count}}</view& ...

  2. Swift使用UIImagePickerController 从相册选择图片、从相机选择图片

    配置: 如果是相机使用,需要在info.plist文件增加使用前应用程序说明:相机使用也是如此.(第二个是CALENDARS权限,打错了:图片是Photo Library Usage Descript ...

  3. uni-app: APP端同时选择图片和视频,长按删除并震动提示

    APP端同时选择图片和视频 全部代码: <!-- --> <template><view><view><view><view styl ...

  4. Android拍照及从相册选择图片传详解(终极版)

    Android 拍照及从相册选择图片传详解 先上图 新知识点速览 URI(统一资源标识符)是标识逻辑或物理资源的字符序列,与URL类似,也是一串字符.通过使用位置,名称或两者来标识Internet上的 ...

  5. iOS上传头像, 相册权限,相册权限,拍照上传,相册选择图片,拍照页面语言设置,保存到相册...

    2019独角兽企业重金招聘Python工程师标准>>> 1. 权限 在打开相机拍照或者打开相册选择图片之前, 有必要先判断先是否有权限, 如果没有权限应该给个提示, 让用户自己去设置 ...

  6. MUI 拍照和从系统相册选择图片上传

    要完成用MUI 拍照和从系统相册选择图片上传的功能,可以理解成有三个功能 1 调用手机相机的功能(可以查看官方API  http://www.html5plus.org/doc/zh_cn/camer ...

  7. iOS从相册选择图片并裁剪,可用于上传头像

    iOS从相册选择图片并裁剪 前言 笔者最近接了一个任务,是从手机相册选择图片并裁剪后上传.于是在裁剪的这一块,我用了VPImageCropper.从相册获取图片,我一开始看的是TZImagePicke ...

  8. Bmob+Luban(鲁班)压缩图片实现相册选择图片压缩后上传到Bmob后台Glide加载图片显示到本地

    源代码已上传CSDN:https://download.csdn.net/download/qq_16519957/11068345 因为本章需要跟前面的知识结合起来看所以就做了一个前面链接方便大家查 ...

  9. iOS学习:调用相机,选择图片上传,带预览功能

    iOS学习:调用相机,选择图片上传,带预览功能 发表于2年前(2013-05-30 21:38)   阅读( 18194) | 评论( 16) 27人收藏此文章,我要收藏 赞3 8月22日珠海 OSC ...

最新文章

  1. java 静态数据_Java 静态数据初始化的示例代码
  2. 页面上一些小icon的制作方法及技术选择
  3. C++ 协程与网络编程
  4. bat set命令详解
  5. 国内首本免费深度学习书籍!还有人没Get么?
  6. html移动滚动彩字字幕特效,如何制作滚动字幕 旋转好莱坞字幕特效效果图(超多滚动效果)...
  7. Python中的Dask数组
  8. PHP笔记-连接MySQL数据库及查询数据
  9. html 右上角删除图标,网页制作html+css制作div标签增加右上角删除图标的示例代码...
  10. 谷歌神经网络机器翻译NMT:人人可利用TensorFlow快速建立翻译模型
  11. 计算机无法识别出硬件,电脑检测不到硬盘,电脑硬件故障检测工具
  12. Python小结<1>
  13. Android百度语音集成——文字转语音
  14. 智能家居项目(八)之树莓派+摄像头进行人脸识别
  15. 如何查看路由器的宽带连接密码
  16. 【vim】禁止vim生成 un~文件
  17. 13、撤回(撤销)、驳回(退回)、作废(终止)、挂起(中止)
  18. 星宇专卖店POS收银软件管理系统 v2.49 官方版
  19. 全球的光栅矢量化软件的评测
  20. 日语50音图学习笔记

热门文章

  1. AVPro Video 插件在unity中动态播放视频
  2. 深度学习(二)---深度神经网络训练三部曲
  3. QT信号槽与connect的常见写法
  4. 数学建模进入“新课标”,告别了“刷题”“押题”数学应该怎么学?
  5. 反应式编程框架设计:如何使得程序调用不阻塞等待
  6. Variational graph auto-encoders (VGAE)
  7. 宝德网吧服务器型号,14款网吧、网游 服务器横向评测
  8. 对话 MySQL 之父 Monty:超越 MySQL 很难,但我做到了!
  9. mysql set类型的用户变量,mysql用户变量的圈套
  10. 【总结】新产品开发阶段的名词 EVT/DVT/PVT/MP