内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

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

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

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

一、授權(quán)獲取

1、相關(guān)api
wx.getSetting
wx.authorize

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

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、相關(guān)api
文件系統(tǒng)
writeFile

2、參數(shù)encoding 用于說明 寫入的參數(shù)data的格式是什么,并非是將data按encoding的形式寫入。在這里我們應(yīng)該指定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ù)的內(nèi)容格式是圖片格式為png的base64格式。

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

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)
            }
        })
    }
}

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

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

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

廣告

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

成都網(wǎng)頁設(shè)計公司
敦煌市| 张掖市| 云南省| 黑山县| 丹江口市| 阿鲁科尔沁旗| 共和县| 车险| 密山市| 介休市| 巴楚县| 无锡市| 台前县| 桑日县| 阳东县| 尖扎县| 胶南市| 通辽市| 兰考县| 明星| 涟源市| 天津市| 瑞安市| 平昌县| 临漳县| 尚义县| 连平县| 普陀区| 平山县| 辽源市| 黎平县| 福清市| 黄大仙区| 察哈| 类乌齐县| 贡嘎县| 韩城市| 昌图县| 抚州市| 吴桥县| 财经|