이 기사는 미니 프로그램에서 Base64 이미지를 앨범에 저장하는 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
1. 권한 획득
1. 관련 api
wx.getSetting
wx.authorize
2. 권한 취득 절차는 일반적으로
권한이 있는지 여부——> 그렇지 않은 경우——> 해당 API를 사용합니다. 🎜#(사용자가 인증을 거부하는 경우 wx.opensetting을 사용하여 인증을 위한 인증 설정 페이지로 사용자를 안내할 수 있습니다.)
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
file systemwriteFile
2. 인코딩 형식으로 데이터를 쓰는 것이 아니라 작성된 매개변수 데이터의 형식을 설명합니다. 여기서는 인코딩을 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) if (!err.errMsg.includes('cancel')) { wepy.showToast({ title: err.errMsg, icon: 'none' }) } }, complete: () => { wepy.hideLoading() } }) }, fail: res => { wepy.hideLoading() console.log(res) } }) } }
위 내용은 미니프로그램에서 Base64 이미지를 앨범에 저장하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!