原生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;
    }
  };


相关文章
|
9月前
原生input实现上传文件
原生input实现上传文件
LayUI upload上传组件上传文件的两种方式
LayUI upload上传组件上传文件的两种方式
720 0
|
前端开发 Java 程序员
el-upload上传组件accept属性限制文件类型(案例详解)
案例分享el-upload上传组件accept属性!欢迎留言沟通交流!
3841 0
el-upload上传组件accept属性限制文件类型(案例详解)
|
前端开发 JavaScript 应用服务中间件
multer实现文件上传功能全解(form上传、fetch请求上传、多文件上传)
multer实现文件上传功能全解(form上传、fetch请求上传、多文件上传)
multer实现文件上传功能全解(form上传、fetch请求上传、多文件上传)
|
前端开发 JavaScript
Bootstrap File Input,最好用的文件上传组件(1)
Bootstrap File Input,最好用的文件上传组件
661 0
Bootstrap File Input,最好用的文件上传组件(1)
|
JavaScript
VUE上传功能本地上传正常,打包上传后报错TypeError: ***.upload.addEventListener is not a function
VUE上传功能本地上传正常,打包上传后报错TypeError: ***.upload.addEventListener is not a function
1132 0
|
7月前
Element UI 上传文件 el-upload —— 手动上传文件,限制上传文件数量,文件类型校验等
Element UI 上传文件 el-upload —— 手动上传文件,限制上传文件数量,文件类型校验等
1584 0
|
9月前
|
PHP
文件上传--Upload-labs--Pass16--图片二次渲染
文件上传--Upload-labs--Pass16--图片二次渲染
原生input输入框实现上传文件
原生input输入框实现上传文件
|
前端开发
input file上传文件改变默认样式
input file上传文件改变默认样式
115 0