uinapp 中上傳的文件轉成base64


測試了多種方法,最后用了image-tools 組件轉成功,image-tools 網上有下載就不提供了,具體的使用方法是引入下載的image-tools。

    import {
        base64ToPath,//base64碼轉圖片
        pathToBase64
        } from '@/components/image-tools/index.js'

提供了2中方法,base64ToPath 是base64編碼字符串轉圖片文件;pathToBase64 是圖片文件轉base64編碼字符串;

uni.chooseImage({
                    count: 1, //默認9
                    sizeType: ['original', 'compressed'], //可以指定是原圖還是壓縮圖,默認二者都有。
                    sourceType: ['album', 'camera'], //從相冊選擇。
                    success(res) {
                        console.log("res-----------------------------------------------", res);

                        // res.tempFilePaths[0] 表示調用手機選擇的文件路徑
                        pathToBase64(res.tempFilePaths[0])
                            .then(base64 => {
                                console.log(base64.length)
                                let base64str= base64.substring(base64.indexOf(",")+1)
                   //base64str 表示去除頭部的base64字符串 let opts
= { url: 'http://localhost/sys/fileex/webcard/shibie64jo', method: 'post' }; let param = { "strb64":base64str, "zjtype":"103", "imgtype":"jpg" }; _this.httpRequestex(opts, param).then(res => { console.log(res) if(res.data.success){ let dataJSONstr = JSON.parse(res.data.zjinfo) console.log(res.data.zjinfo) let resdata = dataJSONstr.data.cardsinfo.card.item let imgurl = res.data.url for (var i = 0; i < resdata.length; i++) { var value = resdata[i].content; var key = resdata[i].desc; console.log('key=' + key + ' value=' + value) if (key != '保留') { _this.reportData.push(resdata[i]) } } } }) }) .catch(error => { console.log('res'+error) console.error(error) }) // 都可以用 const arrayBuffer = new Uint8Array(res.tempFilePaths[0]); //先將本地圖片路徑轉換成array類型 const base64Img = uni.arrayBufferToBase64(arrayBuffer); //再轉換成base64類型 console.log(base64Img.length) //成品就在這里了 }, fail(err) { } });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM