UNI 專案壓縮圖片 轉BASE64上傳
阿新 • • 發佈:2020-10-29
本方法適用於H5和APP,其它端未測試。
首先去http://tool.hhyang.cn/doc4/custom-picture/dataURLtoBlob.html
下載 並引用custom-picture.js;
然後引用
chooseImg() { // #ifdef APP-PLUS plus.gallery.pick(res => { this.$Ctpic.dataURLtoBlob({ path: res,// isNet: false, format: 'jpg', // GetBase64: true, compress: 0.5, }).then(res => { // plus.nativeUI.toast(res) let path = res.target //絕對路徑 if(plus.os.name == "iOS") { path = plus.io.convertLocalFileSystemURL(res.target) //IOS下要轉絕對路徑 } const fileReader = new plus.io.FileReader() fileReader.readAsDataURL(path) fileReader.onloadend= (res) => { //讀取檔案成功完成的回撥函式 // console.log(res.target.result) //輸出base64內容 let base64= res.target.result; } fileReader.onerror = err => { console.log(JSON.stringify(err)) } }); }, err => { plus.nativeUI.toast(err) }, { maximum: 1 }) // #endif // #ifdef H5 uni.chooseImage({ count: 1, complete: (res) => { this.showCanvas = true; this.src = res.tempFilePaths[0]; this.$refs.helangCompress.compress({ src: res.tempFilePaths[0], maxSize: 1920, fileType: 'jpg', quality: 0.7 }).then((res) => { // 壓縮成功回撥 // console.log(res) let base64 = res; }).catch((err) => { // 壓縮失敗回撥 uni.hideLoading() }) } }) // #endif },