更新记录

1.0.0(2023-09-02)

图像转换工具集合,可用于图像和base64的转换


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

API

方法名
说明
参数
返回值示例
pathToBase64 从图像路径转换为base64。注意:uni-app、微信小程序和5+APP使用的路径不支持网络路径,如果是网络路径需要先使用下载API下载下来。 path:本地图像路径 data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAoHCAkIBgoJCAkMCwoMDxoRDw4ODx8WGBMaJSEnJiQhJCMpLjsyKSw4LCMkM0Y0....
base64ToPath 将图像base64保存为文件,返回文件路径。 base64:base64字符串 http://usr/1693659240628.png

参考代码

<template>
    <view class="content_container">
        <image :src="tempFilePaths[0]" v-if="tempFilePaths.length>0" mode="widthFix" style="width:100%;height:auto;"></image>
        <!-- <view v-if="tempFilePaths.length>0">{{tempFilePaths[0]}}</view> -->
        <button @click="chooseImage" class="btn-style">选择图片并转为base64</button>
        <view class="break-text overflow">得到base64: {{base64Str}}</view>

        <button @click="base64ToPath" class="btn-style">base64转为path</button>
        <view class="break-text">得到path: {{parsePath}}</view>
    </view>
</template>
<script>
    import imageTools from '../util/image-tools.js'
    export default {
        data() {
            return {
                tempFilePaths:[],
                base64Str:'',
                parsePath:''
            }
        },
        methods:{
            chooseImage(){
                uni.chooseImage({
                    success: (chooseImageRes) => {
                        this.tempFilePaths = chooseImageRes.tempFilePaths;
                        imageTools.pathToBase64(this.tempFilePaths[0]).then(base64 => {
                            this.base64Str = base64
                        })
                        .catch(error => {
                            console.error(error)
                        })
                    }
                })
            },
            base64ToPath(){
                imageTools.base64ToPath(this.base64Str).then(path => {
                    console.log(path)
                    this.parsePath = path
                  })
                  .catch(error => {
                    console.error(error)
                  })
            }

        }
    }
</script>
<style lang="scss">
    @import './uni-forms-style.scss';
    .content_container{
        padding:30rpx 35rpx;
    }
    .btn-style{
        width: 100%;
        background: $theme-color;
        color:#fff;
        margin: 10rpx 0;
        font-size: 35rpx;
    }
    .break-text{
        word-break:break-all;
    }
    .overflow{
        overflow:scroll;
        max-height:420rpx;
    }
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问