uniapp文件路径转base64格式
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格式相关推荐
- vue项目,把图片文件流转为base64格式以图片形式展示在前端
问题描述 前台需要展示图片,期望后台直接返回图片地址,但是后台给的是的文件流而不是一个图片地址,需要把文件流转为base64的格式展示出来. 请求后台接口时,返回图片内容如下: 上图不是base64格 ...
- cad快捷键文件路径_办公格式转太难不会看这里!CAD、PDF、Word、Excel、TXT教你玩转...
办公格式转,你遇到最难解决的问题是哪些? 办公格式转,最让你头疼的文件格式是哪些? 办公格式转,你最想要学习转换格式有哪些? 我:Word.Excel.PPT.TXT.CAD.PDF.JPG统统都想要 ...
- js将图片或者文件转成base64格式的两种方法
场景一,项目assets资源里面的图片本地图片,重点如下 需要了解 canvas的基本操作,canvas.toDataURL 方法 HTMLCanvasElement.toDataURL() 方法返回 ...
- 使用阿里图标库icon图标 ttf字体文件转化成base64格式
iconfont-阿里巴巴矢量图标库 下载代码 字体文件上传到下面网站 Online @font-face generator - Transfonter 下载转好的文件 将以下代码复制到css 阿里 ...
- uniapp小程序中使用base64格式的字体图标iconfont的详细步骤
下图是uniapp官网中对uniapp中字体图标使用规范的描述 这是官网地址中的原文链接 uniapp官网原文 从官网中对uniapp中字体图标使用规范的描述里可以看出,uniapp中使用字体图标的方 ...
- 小程序图片转换Base64格式的三种方法
一.使用小程序自带的网络请求 1.wx.request() 这种方式适合网络https路径图片,但无法解析wxfile://xxxx导致转化报错 image2Base64(imgUrl) {retur ...
- 剪贴板中图片转为BASE64格式
需求 将图片复制到剪贴板后,希望将图片快捷地转换为BASE64格式. 各种在线工具往往需要先将图片保存到本地,然后将本地文件上传.现在考虑将图片保存到本地这一步去掉,直接将图片从剪贴板粘贴到网页的某个 ...
- Python的 sys.path.append()、os.path.dirname(os.path.abspath(file))、使用os模块动态获取目录或文件路径
sys.path.append() 当我们导入一个模块时:import xxx,默认情况下python解析器会搜索当前目录.已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中: &g ...
- img图片的预览和下载(iframe基本使用),图片转file格式,file文件转base64格式,base64的编码和解码
目录 一.根据后端接口返回的URL下载和预览图片 1.调用下载图片函数实现下载图片 2.弹出另一个页面,实现预览图片. 3.不弹出另一个页面,实现下载/预览图片(iframe方式) 4.动态创建ifr ...
- vue、微信小程序上传文件(base64格式、一般格式)及vue的表格导入和导出
一.上传文件 1.vue项目 base64格式 onInputChange(el) {var self = this;let file=el.file;let type=file.type.split ...
最新文章
- 【Python】青少年蓝桥杯_每日一题_5.15_打印 99 乘法表
- spring AspectJ的Execution详解
- OpenGL OBJ模型加载.
- jvm_垃圾收集算法讲解(二)
- 数据结构和算法分析学习笔记(三)--二叉查找树的懒惰删除(lazy deletion)
- 经理人如何与这“六种人”打交道?
- 如何使用API提交转码任务?
- [转载] 的士速递3
- 树莓派7寸触屏,略贵
- Rust 与服务端编程的碎碎念
- laravel 除了主页 都是404 webconfig_通过 Laravel 创建一个 Vue 单页面应用(六)
- 微信群管理机器人免费、破解版
- MongoDB的一些基本使用
- 计算机是好是坏英语作文,电脑游戏是好还是坏英语作文
- 【线性代数】A为方阵,当存在B使得 AB=E ,证明BA=E
- Ubuntu18.04 配置nvidia 460驱动、cuda10.1和cudnn7.6.5
- 汉化+破解Substance Painter 2019 macv2019.1.0图文展示
- 词霸天下---词根290【-it- 走】
- Eclipse 常用快捷键整理
- 工业物联网的价值有哪些
热门文章
- 20210725:FLAC刻录音乐CD教程01-下载安装Nero打补丁
- Java 设计模式 Factory Method 工厂方法 模式
- 开篇、食堂管理评价系统(Android)
- 《物联网Android程序开发案例式教程》Demo1:线性布局
- HTML 编辑器推荐
- jep-java-4.0-trial.jar 下载
- Java、python实现啊哈算法 —— chapter3 枚举 炸弹人
- 光纤跳线接口_一文了解光纤配线架、光纤跳线、耦合器、收发器及光纤色谱顺序...
- Vector CANape的使用记录
- java batik 字体文件_用 Apache batik 1.10 把svg代码转成png图片,文字丢失???