美文网首页
uniapp多图上传--vue

uniapp多图上传--vue

作者: 表弟_212 | 来源:发表于2020-02-25 15:37 被阅读0次

    累的一批啊 被公司抓来写小程序 用uniapp~~~先上代码吧

    初始化加载原先保存的 可删除可更新


    image.png
    <template>
        <view class="grace-margin">
            <form @submit="formSubmit" class="grace-form">
                <view class="cu-bar bg-white margin-top">
                    <view >图片上传</view>
                    <!-- <view class="action">{{ imgList.length }}/3</view> -->
                </view>
                <view class="cu-form-group">
                    <view class="grid col-4 grid-square flex-sub">
                        <view class="bg-img" v-for="(item, index) in imgList" :key="index" @tap="ViewImage" :data-url="item.file">
                            <image :src="item.path" mode="aspectFill"></image>
                            <view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="index"><text class="cuIcon-close"></text></view>
                        </view>
                        <view class="solids" @tap="ChooseImage" v-if="imgList.length < 8"><text class="cuIcon-cameraadd"></text></view>
                    </view>
                </view>
                <view style="padding:22upx 0;">
                    <button formType="submit" type="primary" style="width:100%;text-align: center;background-color: #00CAAB;">提交</button>
                </view>
            </form>
        </view>
    </template>
    ------------------------------------------------------
    
    data() {
                return {
                    imgList: [],
                    token: 0,
                    user_info_id:0
                }
            },
            components: {
                uniNumberBox
            },
            onLoad: function(option) {
                var that = this;
                that.token = uni.getStorageSync('token');
                
                uni.getStorage({
                        key: 'userinfo',
                        success: function(res) {
                            bofu.ajax('/home/client/getuserimg', {
                                user_info_id: res.data.user_info_id
                            }, function(res) {
    
                                if (res.data.code == 1) {
                                    for (const key in res.data.data) {
                                        that.imgList.push(res.data.data[key])
                                    }
                                } 
                            });
    
                        }
                    })
    
    ChooseImage() {
                    var that = this;
    
                    uni.chooseImage({
                        count: 4, //默认9
                        sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
                        sourceType: ['album'], //从相册选择
                        success: (chooseImageRes) => {
                            const tempFilePaths = chooseImageRes.tempFilePaths;
                            uni.uploadFile({
                                url: '', 接口地址
                                filePath: tempFilePaths[0],
                                name: 'imgName',
                                header: {
                                    'content-type': 'application/x-www-form-urlencoded',
                                    'token': that.token
                                },
                                formData: {},
                                success: (uploadFileRes) => {
                                    console.log('uploadFileRes');
                                    console.log(uploadFileRes);
                                    console.log(uploadFileRes.data);
                                    uploadFileRes.data = JSON.parse(uploadFileRes.data).data;
                                    if (this.imgList.length != 0) {
                                        this.imgList = this.imgList.concat({
                                            path: chooseImageRes.tempFilePaths,
                                            url: uploadFileRes.data
                                        })
                                    } else {
                                        this.imgList = [{
                                            path: chooseImageRes.tempFilePaths,
                                            url: uploadFileRes.data
                                        }]
                                    }
                                }
                            });
                        }
                    });
                },
                ViewImage(e) {
                    uni.previewImage({
                        urls: this.imgList,
                        current: e.currentTarget.dataset.url
                    });
                },
                DelImg(e) {
                    uni.showModal({
                        title: '删除',
                        content: '确定要删除这张图片吗?',
                        cancelText: '再看看',
                        confirmText: '删除',
                        success: res => {
                            if (res.confirm) {
                                this.imgList.splice(e.currentTarget.dataset.index, 1);
                            }
                        }
                    });
                },
                gohome(e) {
                    uni.navigateTo({
                        url: '../../pages/index/my',
                        // 跳转成功后刷新
                        success: function(e) {
                            var page = getCurrentPages().pop();
                            if (page == undefined || page == null) return;
                            page.onLoad();
                        }
                    });
                },
                
                // console.log(that.imgList[i].url);
                // student_card.push(that.imgList[i].url)
                formSubmit: function(e) {
                    console.log('图');
                    var that = this
                    console.log(that.imgList);
                    
                    var student_card = [];
                    for (var i in that.imgList) {
                        //////////////////////////////////////////////////////
                        if(that.imgList[i].url){
                            student_card.push(that.imgList[i].url)
                        }else{
                            student_card.push(that.imgList[i].path)
                        }
                    };
                    // console.log(student_card);
                    // return;
                    uni.getStorage({
                        key: 'userinfo',
                        success: function(res) {
                            bofu.ajax('/home/client/updateuserImg', {
                                user_info_id: res.data.user_info_id,
                                student_card:student_card
                            }, function(res) {
                                // console.log(res.data,'aaaaaa')
                                if(res.data.code==1){
                                     uni.showToast({
                                        title: '提交成功~',
                                        icon: 'none'
                                    });
                                    setTimeout(function() {
                                        that.gohome()
                                    }, 1000);
                                    
                                }else{
                                    uni.showToast({
                                        title: '操作失敗',
                                        icon: 'none'
                                    });
                                }
                            });
                    
                        }
                    })
    
    

    相关文章

      网友评论

          本文标题:uniapp多图上传--vue

          本文链接:https://www.haomeiwen.com/subject/abytchtx.html