uniapp 上传图片

上传图片,效果图

image.png
    <view class="showimg_box">
        <view class="show_img">
            <image :src="pingjiaSrc" @tap="ChooseImage" ></image>
        </view>
        <view  v-for="(item,index) in imgList" :key="index" class=" imgarr">
            <view class="icon-cuo" @tap="delect(index)">&#xe61a;</view>
             <image class="images" :src="item" @click="lookImg(index)"></image>
        </view>
    </view>

js

import hex_md5 from "@/common/md5.js";
data(){
return{
imgList:[],
imgArr:"",
pingjiaSrc:this.adminIp + "content/image/pingjia.png",
}
},
methods:{
   ChooseImage() {
        var _this = this;
          uni.chooseImage({
             count: 4, //默认9
             sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
             sourceType: ['album', 'camera'], //从相册选择和拍照
              success: (res) => {
                var tempFilePaths = res.tempFilePaths;
                if (_this.imgList.length+tempFilePaths.length > _this.imgMaxNum) {
                    uni.showToast({
                         title: '超过上传图片的最大数量',
                         icon: 'none'
                    })
                } else {
                     if (_this.imgList.length != 0) {
                      _this.imgList = _this.imgList.concat(res.tempFilePaths);
                        } else {
                           _this.imgList = res.tempFilePaths;
                        }
                for (var i = 0; i < tempFilePaths.length; i++) {
                    let timestamp = new Date().getTime();
                    let enMsg = hex_md5('@' + hex_md5('@' + timestamp + '~') + '~');
                    uni.uploadFile({
                       url: this.adminIp + 'Interface/Interface/UploadImg',//上传的服务器地址
                       filePath: tempFilePaths[i],
                       method: 'POST',
                       name: "file", 
                       formData: {
                        timestamp:timestamp,                                                    
                        enMsg:enMsg                                                         
                        },
                        success: res => {
                           let img = JSON.parse(res.data).data
                           _this.imgArr +=img + ","
                          console.log("上传图片",_this.imgArr);
                        }
                      });
                  }
                }
           }
       });
   },
//查看图片
    lookImg: function(val) {
        const urls = this.imgList
        const current = val
        uni.previewImage({
            urls,
            current
             })
        },
    delect(index){
        uni.showModal({
            title: "提示",
            content: "是否要删除该图片",
            success: (res) => {
                if (res.confirm) {
                this.imgList.splice(index, 1)
                    }
            }
        })
    },

}

CSS样式

    .showimg_box{
            display: flex;
            align-items: center;
            margin-top: 20upx;
            
        }
        .show_img{
            width: 140upx;
            height: 140upx;
            border: 2upx dashed #eee;
            margin: 20upx 0;
            image{
                width: 100%;
                height: 100%;
                border: 2upx dashed #eee;
            }
        }
        .images{
            width: 140upx;
            height: 140upx;
            z-index: 999;
        }

        .imgarr{
        display: flex;
        align-items: center;
        position: relative;
        margin: 0 10upx;
        }
        .icon-cuo {
             font-family: 'iconfont';  
            position: absolute;
            right: 0;
            top: 5upx;
            background: linear-gradient(90deg,rgba(251,91,80,1) 0%,rgba(240,45,51,1) 100%);
            color: #FFFFFF;
            z-index: 10009;
            border-radius:50%;
        }
####
md5.js
####
function hex_md5(string) {    
var x = Array();    
var k, AA, BB, CC, DD, a, b, c, d;    
var S11 = 7, S12 = 12, S13 = 17, S14 = 22;    
var S21 = 5, S22 = 9, S23 = 14, S24 = 20;    
var S31 = 4, S32 = 11, S33 = 16, S34 = 23;    
var S41 = 6, S42 = 10, S43 = 15, S44 = 21;    
string = Utf8Encode(string);    
x = ConvertToWordArray(string);    
a = 0x67452301;    
b = 0xEFCDAB89;    
c = 0x98BADCFE;    
d = 0x10325476;    
for (k=0; k<x.length; k += 16) {    
    AA = a;    
    BB = b;    
    CC = c;    
    DD = d;    
    a = FF(a, b, c, d, x[k+0], S11, 0xD76AA478);    
    d = FF(d, a, b, c, x[k+1], S12, 0xE8C7B756);    
    c = FF(c, d, a, b, x[k+2], S13, 0x242070DB);    
    b = FF(b, c, d, a, x[k+3], S14, 0xC1BDCEEE);    
    a = FF(a, b, c, d, x[k+4], S11, 0xF57C0FAF);    
    d = FF(d, a, b, c, x[k+5], S12, 0x4787C62A);    
    c = FF(c, d, a, b, x[k+6], S13, 0xA8304613);    
    b = FF(b, c, d, a, x[k+7], S14, 0xFD469501);    
    a = FF(a, b, c, d, x[k+8], S11, 0x698098D8);    
    d = FF(d, a, b, c, x[k+9], S12, 0x8B44F7AF);    
    c = FF(c, d, a, b, x[k+10], S13, 0xFFFF5BB1);    
    b = FF(b, c, d, a, x[k+11], S14, 0x895CD7BE);    
    a = FF(a, b, c, d, x[k+12], S11, 0x6B901122);    
    d = FF(d, a, b, c, x[k+13], S12, 0xFD987193);    
    c = FF(c, d, a, b, x[k+14], S13, 0xA679438E);    
    b = FF(b, c, d, a, x[k+15], S14, 0x49B40821);    
    a = GG(a, b, c, d, x[k+1], S21, 0xF61E2562);    
    d = GG(d, a, b, c, x[k+6], S22, 0xC040B340);    
    c = GG(c, d, a, b, x[k+11], S23, 0x265E5A51);    
    b = GG(b, c, d, a, x[k+0], S24, 0xE9B6C7AA);    
    a = GG(a, b, c, d, x[k+5], S21, 0xD62F105D);    
    d = GG(d, a, b, c, x[k+10], S22, 0x2441453);    
    c = GG(c, d, a, b, x[k+15], S23, 0xD8A1E681);    
    b = GG(b, c, d, a, x[k+4], S24, 0xE7D3FBC8);    
    a = GG(a, b, c, d, x[k+9], S21, 0x21E1CDE6);    
    d = GG(d, a, b, c, x[k+14], S22, 0xC33707D6);    
    c = GG(c, d, a, b, x[k+3], S23, 0xF4D50D87);    
    b = GG(b, c, d, a, x[k+8], S24, 0x455A14ED);    
    a = GG(a, b, c, d, x[k+13], S21, 0xA9E3E905);    
    d = GG(d, a, b, c, x[k+2], S22, 0xFCEFA3F8);    
    c = GG(c, d, a, b, x[k+7], S23, 0x676F02D9);    
    b = GG(b, c, d, a, x[k+12], S24, 0x8D2A4C8A);    
    a = HH(a, b, c, d, x[k+5], S31, 0xFFFA3942);    
    d = HH(d, a, b, c, x[k+8], S32, 0x8771F681);    
    c = HH(c, d, a, b, x[k+11], S33, 0x6D9D6122);    
    b = HH(b, c, d, a, x[k+14], S34, 0xFDE5380C);    
    a = HH(a, b, c, d, x[k+1], S31, 0xA4BEEA44);    
    d = HH(d, a, b, c, x[k+4], S32, 0x4BDECFA9);    
    c = HH(c, d, a, b, x[k+7], S33, 0xF6BB4B60);    
    b = HH(b, c, d, a, x[k+10], S34, 0xBEBFBC70);    
    a = HH(a, b, c, d, x[k+13], S31, 0x289B7EC6);    
    d = HH(d, a, b, c, x[k+0], S32, 0xEAA127FA);    
    c = HH(c, d, a, b, x[k+3], S33, 0xD4EF3085);    
    b = HH(b, c, d, a, x[k+6], S34, 0x4881D05);    
    a = HH(a, b, c, d, x[k+9], S31, 0xD9D4D039);    
    d = HH(d, a, b, c, x[k+12], S32, 0xE6DB99E5);    
    c = HH(c, d, a, b, x[k+15], S33, 0x1FA27CF8);    
    b = HH(b, c, d, a, x[k+2], S34, 0xC4AC5665);    
    a = II(a, b, c, d, x[k+0], S41, 0xF4292244);    
    d = II(d, a, b, c, x[k+7], S42, 0x432AFF97);    
    c = II(c, d, a, b, x[k+14], S43, 0xAB9423A7);    
    b = II(b, c, d, a, x[k+5], S44, 0xFC93A039);    
    a = II(a, b, c, d, x[k+12], S41, 0x655B59C3);    
    d = II(d, a, b, c, x[k+3], S42, 0x8F0CCC92);    
    c = II(c, d, a, b, x[k+10], S43, 0xFFEFF47D);    
    b = II(b, c, d, a, x[k+1], S44, 0x85845DD1);    
    a = II(a, b, c, d, x[k+8], S41, 0x6FA87E4F);    
    d = II(d, a, b, c, x[k+15], S42, 0xFE2CE6E0);    
    c = II(c, d, a, b, x[k+6], S43, 0xA3014314);    
    b = II(b, c, d, a, x[k+13], S44, 0x4E0811A1);    
    a = II(a, b, c, d, x[k+4], S41, 0xF7537E82);    
    d = II(d, a, b, c, x[k+11], S42, 0xBD3AF235);    
    c = II(c, d, a, b, x[k+2], S43, 0x2AD7D2BB);    
    b = II(b, c, d, a, x[k+9], S44, 0xEB86D391);    
    a = AddUnsigned(a, AA);    
    b = AddUnsigned(b, BB);    
    c = AddUnsigned(c, CC);    
    d = AddUnsigned(d, DD);    
}    
var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);    
return temp.toUpperCase();    

}
function RotateLeft(lValue, iShiftBits) {
return (lValue << iShiftBits) | (lValue >>> (32-iShiftBits));
}
function AddUnsigned(lX, lY) {
var lX4, lY4, lX8, lY8, lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
}
function F(x, y, z) {
return (x & y) | ((~x) & z);
}
function G(x, y, z) {
return (x & z) | (y & (~z));
}
function H(x, y, z) {
return (x ^ y ^ z);
}
function I(x, y, z) {
return (y ^ (x | (~z)));
}
function FF(a, b, c, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function GG(a, b, c, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function HH(a, b, c, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function II(a, b, c, d, x, s, ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
}
function ConvertToWordArray(string) {
var lWordCount;
var lMessageLength = string.length;
var lNumberOfWords_temp1 = lMessageLength+8;
var lNumberOfWords_temp2 = (lNumberOfWords_temp1-(lNumberOfWords_temp1%64))/64;
var lNumberOfWords = (lNumberOfWords_temp2+1)16;
var lWordArray = Array(lNumberOfWords-1);
var lBytePosition = 0;
var lByteCount = 0;
while (lByteCount<lMessageLength) {
lWordCount = (lByteCount-(lByteCount%4))/4;
lBytePosition = (lByteCount%4)
8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount-(lByteCount%4))/4;
lBytePosition = (lByteCount%4)8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
lWordArray[lNumberOfWords-2] = lMessageLength << 3;
lWordArray[lNumberOfWords-1] = lMessageLength >>> 29;
return lWordArray;
}
function WordToHex(lValue) {
var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount;
for (lCount=0; lCount<=3; lCount++) {
lByte = (lValue >>> (lCount
8)) & 255;
WordToHexValue_temp = "0"+lByte.toString(16);
WordToHexValue = WordToHexValue+WordToHexValue_temp.substr(WordToHexValue_temp.length-2, 2);
}
return WordToHexValue;
}
function Utf8Encode(string) {
var utftext = "";
for (var n = 0; n<string.length; n++) {
var c = string.charCodeAt(n);
if (c<128) {
utftext += String.fromCharCode(c);
} else if ((c>127) && (c<2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}

export default hex_md5;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350