原生input实现上传文件

简介: 原生input实现上传文件

1,先设置一下input,在change事件传一个参数

<input
          type="file"
          accept=".xls,.xlsx"
          class="file-btn"
          required
          @change="changeExcel($event)"
        />

2,在事件内获取到文件,通过length进行为空判断,我这里限制的是excel文件

const files = ev.target.files;
    console.log(files);
    if (files.length < 0) {
      console.log('没有上传');
      return false;
    } else if (!/\.(xls|xlsx)$/.test(files[0].name.toLowerCase())) {
      ElMessage.warning('您上传的文件格式不正确');
      return false;

3,最后通过判断了就开始使用Form Data进行上传文件

let param = new FormData(); //创建form对象
      param.append('file', files[0], files[0].name); //通过append向form对象添加数据
      fileParam.value = param;
      Filename.value = files[0].name;

4,最后在请求接口处把这个文件放上去

axios({
      url: '上传文件的接口地址',
      method: 'POST',
      data: fileParam.value,
    })

最后附上事件的完整代码

const changeExcel = (ev) => {
    const files = ev.target.files;
    console.log(files);
    if (files.length < 0) {
      console.log('没有上传');
      return false;
    } else if (!/\.(xls|xlsx)$/.test(files[0].name.toLowerCase())) {
      ElMessage.warning('您上传的文件格式不正确');
      return false;
    } else {
      let param = new FormData(); //创建form对象
      param.append('file', files[0], files[0].name); //通过append向form对象添加数据
      fileParam.value = param;
      Filename.value = files[0].name;
    }
  };


相关文章
|
7月前
原生input实现上传文件
原生input实现上传文件
LayUI upload上传组件上传文件的两种方式
LayUI upload上传组件上传文件的两种方式
684 0
|
前端开发 Java 程序员
el-upload上传组件accept属性限制文件类型(案例详解)
案例分享el-upload上传组件accept属性!欢迎留言沟通交流!
3790 0
el-upload上传组件accept属性限制文件类型(案例详解)
|
JavaScript
VUE上传功能本地上传正常,打包上传后报错TypeError: ***.upload.addEventListener is not a function
VUE上传功能本地上传正常,打包上传后报错TypeError: ***.upload.addEventListener is not a function
1034 0
|
前端开发 JavaScript
Bootstrap File Input,最好用的文件上传组件(1)
Bootstrap File Input,最好用的文件上传组件
645 0
Bootstrap File Input,最好用的文件上传组件(1)
|
5月前
Element UI 上传文件 el-upload —— 手动上传文件,限制上传文件数量,文件类型校验等
Element UI 上传文件 el-upload —— 手动上传文件,限制上传文件数量,文件类型校验等
1414 0
|
7月前
|
JavaScript
vue element upload组件配合axios实现用 “Content-Type“: “multipart/form-data“上传方式导入xls文件
vue element upload组件配合axios实现用 “Content-Type“: “multipart/form-data“上传方式导入xls文件
原生input输入框实现上传文件
原生input输入框实现上传文件
|
前端开发
input file上传文件改变默认样式
input file上传文件改变默认样式
111 0
|
安全 前端开发 PHP
layui框架实战案例(21):layui上传的哪些事(layui.upload组件、 file文件域、php后台上传)
layui框架实战案例(21):layui上传的哪些事(layui.upload组件、 file文件域、php后台上传)
1321 0