VUE文件上传

HTML:

<input v-show="fileupView" id="fileSelect" name="fileSelect" @change="update" ref="inputer"  type="file"/>
<mu-raised-button label="文件打开" class="demo-raised-button" @click="fileopen" primary></mu-raised-button>

<mu-raised-button label="文件上传" class="demo-raised-button" @click="fileupdate" primary></mu-raised-button>

将原始的控件input设置成影藏v-show显示。


VUE:


//原生按钮的属性获取(可优化至新按钮事件去)
update: function () {
    let inputDOM = this.$refs.inputer;
    // 通过DOM取文件数据
    this.file    = inputDOM.files[0];
    console.log("inputDOM.files[0]:"+inputDOM.files[0]);
    if(inputDOM.files[0] === undefined){
        this.fileName = '';
        this.fileSize = '';
        this.fileType = '';
    }
    else{
        this.fileName = this.file.name;
        //kb
        if(this.file.size/1024<1000){
            this.fileSize = (this.file.size/1024).toFixed(2) +"kb";
        }
        else if(this.file.size/1024>1000){
            this.fileSize = ((this.file.size/1024)/1024).toFixed(2) +"MB";
        }
        this.fileType = this.file.type;
    }
},
//用新button按钮去替换原始的控件
fileopen:function () {
    var fileSelect = document.getElementById("fileSelect");
    fileSelect.click();
},

//上传按钮的事件axios
fileupdate:function () {
    let inputDOM = this.$refs.inputer;
    // 通过DOM取文件数据
    this.file    = inputDOM.files[0];
    var formdata = new FormData();
    formdata.append('fileSelect',inputDOM.files[0]);

    axios({
        url: 'update',
        method: 'post',
        data: formdata,
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    }).then(function (re) {
        console.log(re);
        })
        .catch(function (err) {
            console.log(err);
        })
},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值