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


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

    1. <input
    2. type="file"
    3. accept=".xls,.xlsx"
    4. required
    5. @change="changeExcel($event)"
    6. />

    2.先获取到事件内部的文件,通过length长度进行判断,在这里我限制了excel文件

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

    3.如果判断成功了就是用form data进行文件上传

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

    4.请求接口axios,把需要上传的文件地址放进去即可

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

    最后附上事件的完整代码

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

  • 相关阅读:
    Typescript-01
    【JavaScript-BOM】this指向,同步异步问题
    移植u-boot到S3C2440之从内存启动
    在idea下新建javaweb项目-部署-运行
    初识 Jenkins 持续集成
    Python爬虫基础学习-互联网、HTTP与HTML
    成都手机网站设计要点有哪些
    CentOS 同时安装多个版本的Python3
    supOS APP开发者课程练习册
    HTTP和HTTPS
  • 原文地址:https://blog.csdn.net/qq_21861771/article/details/133904125