uniapp文件路径转base64格式

文章目录

  • uniapp文件路径转base64格式
    • 微信小程序
    • APP
    • 完整方法
    • 使用
  • 最近使用uni.canvasToTempFilePath ,需求:把返回文件路径转base64的格式,在H5平台下,tempFilePath 为 base64,这里处理微信小程序和app端。

微信小程序

pathToBase64WX(path, callback) {uni.getFileSystemManager().readFile({filePath: path, //选择图片返回的相对路径encoding: 'base64', //编码格式success: res => {// 成功的回调let base64 = 'data:image/jpeg;base64,' + res.data;typeof callback == 'function' && callback(base64);}});
}

APP

getFileSystemManager api不支持app平台, 通过5+ resolveLocalFileSystemURL api实现。

resolveLocalFileSystemURL

pathToBase64App(path) {// 通过URL参数获取目录对象或文件对象plus.io.resolveLocalFileSystemURL(path, function(entry) {entry.file(function(file) {var fileReader = new plus.io.FileReader()fileReader.onload = function(evt) {console.log('onload: ', evt.target.result);}fileReader.onerror = function(error) {console.log('failed: ', error);}fileReader.readAsDataURL(file)}, function(error) {console.log('failed: ', error);})}, function(error) {console.log('failed: ', error);})
}

完整方法

微信小程序和5+APP使用的路径不支持网络路径,网络路径需要先使用下载API处理。

export function pathToBase64(path) {return new Promise(function(resolve, reject) {// appif (typeof plus === 'object') {plus.io.resolveLocalFileSystemURL(path, function(entry) {entry.file(function(file) {var fileReader = new plus.io.FileReader()fileReader.onload = function(evt) {resolve(evt.target.result)}fileReader.onerror = function(error) {reject(error)}fileReader.readAsDataURL(file)}, function(error) {reject(error)})}, function(error) {reject(error)})return}// 微信小程序if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) {wx.getFileSystemManager().readFile({filePath: path,encoding: 'base64',success: function(res) {resolve('data:image/png;base64,' + res.data)},fail: function(error) {reject(error)}})return}reject(new Error('not support'))})
}

使用

import { pathToBase64 } from './index.js'pathToBase64(path).then( base64 => {console.log('result 转换为base64:', base64);}).catch(error => {console.error(error)
})

uniapp文件路径转base64格式相关推荐

  1. vue项目,把图片文件流转为base64格式以图片形式展示在前端

    问题描述 前台需要展示图片,期望后台直接返回图片地址,但是后台给的是的文件流而不是一个图片地址,需要把文件流转为base64的格式展示出来. 请求后台接口时,返回图片内容如下: 上图不是base64格 ...

  2. cad快捷键文件路径_办公格式转太难不会看这里!CAD、PDF、Word、Excel、TXT教你玩转...

    办公格式转,你遇到最难解决的问题是哪些? 办公格式转,最让你头疼的文件格式是哪些? 办公格式转,你最想要学习转换格式有哪些? 我:Word.Excel.PPT.TXT.CAD.PDF.JPG统统都想要 ...

  3. js将图片或者文件转成base64格式的两种方法

    场景一,项目assets资源里面的图片本地图片,重点如下 需要了解 canvas的基本操作,canvas.toDataURL 方法 HTMLCanvasElement.toDataURL() 方法返回 ...

  4. 使用阿里图标库icon图标 ttf字体文件转化成base64格式

    iconfont-阿里巴巴矢量图标库 下载代码 字体文件上传到下面网站 Online @font-face generator - Transfonter 下载转好的文件 将以下代码复制到css 阿里 ...

  5. uniapp小程序中使用base64格式的字体图标iconfont的详细步骤

    下图是uniapp官网中对uniapp中字体图标使用规范的描述 这是官网地址中的原文链接 uniapp官网原文 从官网中对uniapp中字体图标使用规范的描述里可以看出,uniapp中使用字体图标的方 ...

  6. 小程序图片转换Base64格式的三种方法

    一.使用小程序自带的网络请求 1.wx.request() 这种方式适合网络https路径图片,但无法解析wxfile://xxxx导致转化报错 image2Base64(imgUrl) {retur ...

  7. 剪贴板中图片转为BASE64格式

    需求 将图片复制到剪贴板后,希望将图片快捷地转换为BASE64格式. 各种在线工具往往需要先将图片保存到本地,然后将本地文件上传.现在考虑将图片保存到本地这一步去掉,直接将图片从剪贴板粘贴到网页的某个 ...

  8. Python的 sys.path.append()、os.path.dirname(os.path.abspath(file))、使用os模块动态获取目录或文件路径

    sys.path.append() 当我们导入一个模块时:import  xxx,默认情况下python解析器会搜索当前目录.已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中: &g ...

  9. img图片的预览和下载(iframe基本使用),图片转file格式,file文件转base64格式,base64的编码和解码

    目录 一.根据后端接口返回的URL下载和预览图片 1.调用下载图片函数实现下载图片 2.弹出另一个页面,实现预览图片. 3.不弹出另一个页面,实现下载/预览图片(iframe方式) 4.动态创建ifr ...

  10. vue、微信小程序上传文件(base64格式、一般格式)及vue的表格导入和导出

    一.上传文件 1.vue项目 base64格式 onInputChange(el) {var self = this;let file=el.file;let type=file.type.split ...

最新文章

  1. 【Python】青少年蓝桥杯_每日一题_5.15_打印 99 乘法表
  2. spring AspectJ的Execution详解
  3. OpenGL OBJ模型加载.
  4. jvm_垃圾收集算法讲解(二)
  5. 数据结构和算法分析学习笔记(三)--二叉查找树的懒惰删除(lazy deletion)
  6. 经理人如何与这“六种人”打交道?
  7. 如何使用API提交转码任务?
  8. [转载] 的士速递3
  9. 树莓派7寸触屏,略贵
  10. Rust 与服务端编程的碎碎念
  11. laravel 除了主页 都是404 webconfig_通过 Laravel 创建一个 Vue 单页面应用(六)
  12. 微信群管理机器人免费、破解版
  13. MongoDB的一些基本使用
  14. 计算机是好是坏英语作文,电脑游戏是好还是坏英语作文
  15. 【线性代数】A为方阵,当存在B使得 AB=E ,证明BA=E
  16. Ubuntu18.04 配置nvidia 460驱动、cuda10.1和cudnn7.6.5
  17. 汉化+破解Substance Painter 2019 macv2019.1.0图文展示
  18. 词霸天下---词根290【-it- 走】
  19. Eclipse 常用快捷键整理
  20. 工业物联网的价值有哪些

热门文章

  1. 20210725:FLAC刻录音乐CD教程01-下载安装Nero打补丁
  2. Java 设计模式 Factory Method 工厂方法 模式
  3. 开篇、食堂管理评价系统(Android)
  4. 《物联网Android程序开发案例式教程》Demo1:线性布局
  5. HTML 编辑器推荐
  6. jep-java-4.0-trial.jar 下载
  7. Java、python实现啊哈算法 —— chapter3 枚举 炸弹人
  8. 光纤跳线接口_一文了解光纤配线架、光纤跳线、耦合器、收发器及光纤色谱顺序...
  9. Vector CANape的使用记录
  10. java batik 字体文件_用 Apache batik 1.10 把svg代码转成png图片,文字丢失???