原生input输入框实现上传文件

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

1.设置一个input的change事件,把参数填进去,需要用到

<input
          type="file"
          accept=".xls,.xlsx"
          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,把需要上传的文件地址放进去即可

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;
    }
  };
相关文章
|
8月前
原生input实现上传文件
原生input实现上传文件
|
7月前
|
JavaScript
【干货】JS 限制input文本框输入
【干货】JS 限制input文本框输入
|
8月前
【UI】 修改element-ui input输入框placeholder提示信息、占位符的样式
【UI】 修改element-ui input输入框placeholder提示信息、占位符的样式
734 0
|
8月前
|
JavaScript 前端开发
JavaScript 获取 input 输入框内容的几种方法
JavaScript 获取 input 输入框内容的几种方法
219 0
|
前端开发
input file上传文件改变默认样式
input file上传文件改变默认样式
113 0
|
JavaScript
Vue 监听输入框(input、textarea ...)粘贴事件获取图片、视频、文件、文件夹
Vue 监听输入框(input、textarea ...)粘贴事件获取图片、视频、文件、文件夹
1080 0
|
JavaScript 前端开发
css:隐藏input file标签并触发点击上传文件事件
css:隐藏input file标签并触发点击上传文件事件
625 0
css:隐藏input file标签并触发点击上传文件事件
|
前端开发
【解决方法】element-ui 中输入框input与下拉选择框没有在一条水平线上
【解决方法】element-ui 中输入框input与下拉选择框没有在一条水平线上
937 0
【解决方法】element-ui 中输入框input与下拉选择框没有在一条水平线上
HTML - 输入框 Input 按回车 Enter 自动刷新页面解决方案
HTML - 输入框 Input 按回车 Enter 自动刷新页面解决方案
1255 0
|
监控 JavaScript 前端开发
前端实现输入框input输入时,调用后台查询。
这几天做了一个前端html页面,基于bootstrap框架开发,里面有个需求就是在输入框中输入字母或者文字时,下拉框自动刷新模糊查询出的信息。最初我的想法是监控键盘上的按键输入,每次输入一个字母后,发送异步请求至服务端进行数据查询。
4805 0