欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

小程序中如何將base64圖片保存到相冊中的方法-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關小程序中如何將base64圖片保存到相冊中的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司十多年專注成都高端網站建設按需網站設計服務,為客戶提供專業(yè)的成都網站制作,成都網頁設計,成都網站設計服務;成都創(chuàng)新互聯(lián)公司服務內容包含成都網站建設,微信小程序,軟件開發(fā),網絡營銷推廣,網絡運營服務及企業(yè)形象設計;成都創(chuàng)新互聯(lián)公司擁有眾多專業(yè)的高端網站制作開發(fā)團隊,資深的高端網頁設計團隊及經驗豐富的架構師高端網站策劃團隊;我們始終堅持從客戶的角度出發(fā),為客戶量身訂造網絡營銷方案,解決網絡營銷疑問。

一、授權獲取

1、相關api
wx.getSetting
wx.authorize

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

3、代碼實現(xiàn)

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
文件系統(tǒng)
writeFile

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

3、代碼實現(xiàn)

// 先獲得一個實例  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,...........",逗號前面這一段為格式說明,用于說明后續(xù)的內容格式是圖片格式為png的base64格式。

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

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

四、完整實現(xiàn)

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)
                        if (!err.errMsg.includes('cancel')) {
                            wepy.showToast({
                                title: err.errMsg,
                                icon: 'none'
                            })
                        }
                    },
                    complete: () => {
                        wepy.hideLoading()
                    }
                })
            },
            fail: res => {
                wepy.hideLoading()
                console.log(res)
            }
        })
    }
}

關于“小程序中如何將base64圖片保存到相冊中的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網站標題:小程序中如何將base64圖片保存到相冊中的方法-創(chuàng)新互聯(lián)
文章路徑:http://chinadenli.net/article38/ehopp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站維護域名注冊標簽優(yōu)化外貿建站網站策劃軟件開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網頁設計公司