91在线公开视频_全黄特一级_www.亚洲天堂网_杏导航aⅴ福利网站_久久久综合网_大又大粗又爽又黄少妇毛片

18842388900

網站建設 APP開發 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當前位置>首頁 > 知識 > 軟件開發

小程序中將base64圖片保存到相冊中的方法介紹

發表時間:2019-05-20 08:50:04

文章來源:沈陽網站建設

標簽:小程序

分享:

瀏覽次數:0

本篇文章給大家帶來的內容是關于小程序中將base64圖片保存到相冊中的方法介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

一、授權獲取

1、相關api
wx.getSetting
wx.authorize

2、授權獲取流程一般為
是否有該權限 ——> 若無 ——> 調起授權彈窗 ——> 同意 ——> 使用相關api
(如果用戶拒絕授權則可使用wx.opensetting引導用戶前往授權設置頁授權)

3、代碼實現

static async weAuthCheck(type = 'address') {    let resGetting = await new Promise((resolve, reject) => {        wepy.getSetting({            success: res => {                // console.log(res, 'getsetting')                if (res.authSetting.hasOwnProperty(`scope.${type}`) && res.authSetting[`scope.${type}`]) {                    resolve({                        succeeded: true                    })                } else {                    wepy.authorize({                        scope: `scope.${type}`,                        success: () => {                            resolve({                                succeeded: true                            })                        },                        fail: err => {                            // console.log(err, 'errrrr')                            resolve({                                succeeded: false,                                err: err                            })                        }                    })                }            },            fail: err => {                resolve({                    succeeded: false,                    err: err                })            }        })    })    console.log('getSetting res: n', resGetting)    return resGetting}

二、寫入臨時文件

1、相關api
文件系統
writeFile

2、參數encoding 用于說明 寫入的參數data的格式是什么,并非是將data按encoding的形式寫入。在這里我們應該指定encoding為base64

3、代碼實現

// 先獲得一個實例  this.fileManager = wx.getFileSystemManager()this.fileManager.writeFile({    filePath: `${wx.env.USER_DATA_PATH}/qrcode_${timestamp}.png`,    data: data,    encoding: 'base64',    success: res => {        console.log('res: n:', res)    },    fail: res => {        console.log(res)    }})

三、格式化字符串

1、base64字符串的格式: "data:image/png;base64,...........",逗號前面這一段為格式說明,用于說明后續的內容格式是圖片格式為png的base64格式。

2、如果直接將整一串字符傳入,雖然可以保存成功,但是將導致圖片文件格式錯誤。因此再做一步切割操作

let startIdx = this.qrcode.indexOf('base64,') + 7

四、完整實現

async onTapSaveQrcode() {    let startIdx = this.qrcode.indexOf('base64,') + 7    let resCheck = await this.$weAuthCheck('writePhotosAlbum')    let timestamp = new Date().getTime()    let self = this    if (resCheck.succeeded) {        wepy.showLoading()        this.fileManager.writeFile({            filePath: `${wx.env.USER_DATA_PATH}/qrcode_${timestamp}.png`,            data: this.qrcode.slice(startIdx),            encoding: 'base64',            success: res => {                console.log('res: n:', res)                wx.saveImageToPhotosAlbum({                    filePath: `${wx.env.USER_DATA_PATH}/qrcode_${timestamp}.png`,                    success: res => {                        self.$emit('save-qrcode-success')                        wepy.showToast({                            title: '保存成功'                        })                    },                    fail: err => {                        console.log(err)        軟件公司

<a href=http://www.www.fjxmxtpower.cn target=_blank class=infotextkey>沈陽<a href=http://www.www.fjxmxtpower.cn target=_blank class=infotextkey>軟件開發</a></a>,<a href=http://www.www.fjxmxtpower.cn target=_blank class=infotextkey>沈陽<a href=http://www.www.fjxmxtpower.cn target=_blank class=infotextkey>軟件公司</a></a>

if (!err.errMsg.includes('cancel')) { wepy.showToast({ title: err.errMsg, icon: 'none' }) } }, complete: () => { wepy.hideLoading() } }) }, fail: res => { wepy.hideLoading() console.log(res) } }) }}

以上就是小程序中將base64圖片保存到相冊中的方法介紹的詳細內容,更多請關注沈陽網站建設其它相關文章!

小程序

相關案例查看更多

主站蜘蛛池模板: 沈阳市| 泗洪县| 临沂市| 丰顺县| 南漳县| 文化| 光泽县| 邹城市| 沾益县| 久治县| 平乡县| 康保县| 民勤县| 新宾| 屏东市| 三台县| 潜山县| 军事| 辽阳县| 桐梓县| 阿克苏市| 方城县| 台湾省| 怀仁县| 金湖县| 泰顺县| 开远市| 呼图壁县| 红河县| 宣威市| 东方市| 新余市| 朝阳县| 永平县| 抚顺市| 宁海县| 宣化县| 申扎县| 合山市| 兴仁县| 阿坝县|