1. 程式人生 > 實用技巧 >UNI 專案壓縮圖片 轉BASE64上傳

UNI 專案壓縮圖片 轉BASE64上傳

本方法適用於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 },