【MUI】選擇圖片并上傳至服務(wù)器

最后更新17.01.20

一、首先這是HTML的代碼 將要顯示一張圖片

<img id="my_img_id" class="my_img_class" />

二、然后這是JavaScript代碼

var img_my = document.getElementById('my_img_id');

//點(diǎn)擊添加圖片 
img_my.addEventListener('tap', function() {
    
    //打開相冊(cè)(這里之前很多小伙伴問我,為什么打不開,因?yàn)槲矣玫氖荋5+的方式,不適用于純web頁面)
    plus.gallery.pick(
        function(path) {
            img_my.src = path; //設(shè)置img的路徑

            //把圖片base64編碼  注意:這里必須在onload事件里執(zhí)行!這給我坑的不輕
            img_my.onload = function() {
                var data = getBase64Image(img_my);    //base64編碼
                var newImgbase = data.split(",")[1];  //通過逗號(hào)分割到新的編碼
                imgArray.push(newImgbase);            //放到imgArray數(shù)組里面
                img_my.off('load');                   //關(guān)閉加載
                }
            },
            function(e) {
                mui.toast('取消選擇');
                });
            });

//base64編碼  
function getBase64Image(img) {
    var canvas = document.createElement("canvas");   //創(chuàng)建canvas DOM元素,并設(shè)置其寬高和圖片一樣
    canvas.width = img.width;
    canvas.height = img.height;
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0, img.width, img.height); //使用畫布畫圖
    var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();  //動(dòng)態(tài)截取圖片的格式
    var dataURL = canvas.toDataURL("image/" + ext);  //返回的是一串Base64編碼的URL并指定格式
    return dataURL;
}
            

三、上傳圖片操作

function uploadimg() {
    
    //這里就可以把添加過圖片的imgArray通過JSON解析成字符串,然后上傳給服務(wù)器
    var imgJson = JSON.stringify(imgArray);
    
    mui.ajax("上傳圖片的地址", {
        data: {
            pic: imgJson,       
        },
        type: 'post',
        timeout: 10000,
        dataType: 'json',
        success: function(data) {
            if(data.error == 0) {   
                mui.toast('上傳成功');  
            } else {
                mui.toast('上傳失敗:'+data.data);
            }
        },
        error: function(xhr, type, errorThrown) {
            mui.toast('錯(cuò)誤');
        }
    });
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容