Vue中使用fromData完成上传.md

完成上传操作,思路如下:
1、页面上写一个type="file"的input标签,是隐藏的,需要绑定一个ref属性

	html:
	
	
	javaScript:
	handleFileChange(e) {
	    let file = e.target.files[0]
	    this.fileName = file.name
	    this.file = file
	}

2、页面上有一个按钮,点击按钮让它去触发input标签的方法

	html:
	上传文件
	
	javaScript:
	handleUploadFile(){
	    this.$refs.file.click()
	}

3、由于发送ajax请求带文件过去,文件则会变成文档的字符节流

		$.ajax({
            type: "post",
            url:  "接口地址",
            data: formdata,
            dataType: 'json',
            contentType: false, // 不用设置Content-Type请求头
            async: true,    //默认是true:异步,false:同步。
            success: function (data) {
                callback(data);  //成功调用回滚
                alert("成功~~~")
            },
            error: function (data) {
                alert("出现异常~~~")
            },
        });

4、因此会用到FromData来完成上传

	javaScript:
	handleImport() {
	    let formData = new FormData()
	    formData.append('devices', this.file)
	    this.$api.asset.importDevice(formData).then(response => {
	        if (response.success) {
	          // 判断成功
	          this.$message.success('导入成功')
	        } else {
	          // 判断失败
	          this.$message.error(response.message)
	        }
	    })
	}

你可能感兴趣的:(Vue中使用fromData完成上传.md)