内射老阿姨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://m.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è)計公司
洪江市| 咸丰县| 白银市| 扬州市| 黄梅县| 蕉岭县| 高淳县| 德江县| 阿瓦提县| 潞城市| 胶州市| 黄骅市| 枞阳县| 灵武市| 桃江县| 正镶白旗| 西和县| 伊川县| 凤山市| 扶沟县| 阿克| 通江县| 伊金霍洛旗| 阿鲁科尔沁旗| 宝清县| 北海市| 巴东县| 尼玛县| 驻马店市| 安岳县| 寿宁县| 中江县| 枝江市| 鄂托克旗| 靖远县| 蛟河市| 金塔县| 镇雄县| 沈丘县| 上林县| 工布江达县|