首页 > 其他分享 >input上传文件的实际应用

input上传文件的实际应用

时间:2023-04-06 14:47:27浏览次数:43  
标签:files 文件 data formdata file input 上传

'Content-Type': 'multipart/form-data'类型

使用场景:在vue2.0中,有统一的请求封装文件,下面文件为请求封装的使用,因项目不同可以忽略(vue-element-admin架构)

html部分

<div class='public_normal_btn' @click='$refs.file_item.click()'>导入</div>
<input style="display: none;" type="file" ref='file_item' multiple @input="file_change">

api.js接口声明文件

 1 /**
 2  * 导入
 3  * @param {Object} data
 4  */
 5 export function upload(data) {
 6   return request({
 7     url: '/zbfp/api/v1/iden/echeck/check_upload',
 8     method: 'post',
 9     data,
10     headers: {
11         'Content-Type': 'multipart/form-data'
12     },
13   })
14 }

 upload为上面的接口调用,文件数据传输需要以下几个步骤

1.声明 FormData 对象

2.将文件 append 到对象内部

3.将 formdata 对象当成参数传给参数

4.清除input的文件信息

5.刷新数据,查看更改后的数据

file_change() { //上传服务文件的逻辑
    let files = this.$refs.file_item.files;
    let length = files.length;
    let index = 0;
    files.forEach(file => {  //自定义的检测类型逻辑
        if(file.name && file.name.split('.')[1] != 'xlsx'){
            this.$message({
                type:'error',
                message:'文件格式错误,请重新选择.xlsx的文件'
            })
            return;
        }
    })
    files.forEach(file => {
        // formdata形式上传时,必须使用FormData对象才可以
        let formdata = new FormData();
        formdata.append('file',file);
        upload(formdata).then(res => {
            index++;
            if(index == length) {
                this.$alert(length + '个服务包已上传,详情请查看服务日志', '提示', {
                    confirmButtonText: '确定',
                    callback: action => {
                        this.$refs.file_item.value = ''
                        this.page_render();
                    }
                });
                index = 0;
            }
        })
    })
},

 

标签:files,文件,data,formdata,file,input,上传
From: https://www.cnblogs.com/mumuyuyuyu/p/17292648.html

相关文章

  • php上传文件简单示例
    php上传文件简单示例 <?php$log='';$buf=ob_get_contents();ob_end_clean();$postmaxsize=trim(ini_get('post_max_size'));//preg_match_all('/\d+/',$postmaxsize,$arr);//$number=$arr[0][0];//if(strpos($postmaxsize,&#......
  • PHP上传文件的大小限制
    PHP上传文件的大小限制Warning:POSTContent-Lengthof625523488bytesexceedsthelimitof8388608bytesinUnknownonline0当Warning:online0做出错误警告时,设定error_reporting(0);ini_set("display_errors",0);无效如何不显示这种错误呢方法一:设置php.i......
  • 求PHP超大文件上传解决方案:分片断点上传(一)
    ​ PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploads=on/off 是否允许通过http方式上传文件2.max_execution_time=30 允许脚本最大执行时间,超过这个时间就会报错3.memory_limit=50M 设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此......
  • 互联网项目实战——Athena-OSS分布式文件存储服务设计
    摘要在系统中需要有统一的存储系统,用于较大型的文件和图片进行存储,Athena系统中利用开源的FastDFS来构建Athena分布式文件存储系统OSS服务。用于整个系统的存储服务。博文将详细的介绍分布式存储系统的背景和意义以及相关的技术选型与原理,供大家学习参考。一、分布式文件存储系统背......
  • kubernetes ConfigMap只挂载一个文件
    1.概述挂载一整个目录的方式详见<<kubernetesConfigMap的使用>>这里特别说明如何挂载目录和挂载一个文件详见官方文档:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/2.环境2.1.配置文件目录/var/app/mage-go-device/conf/......
  • 教育-文件读写
    Excel数据读写excel是一个软件,可以打开不同格式的文件:xlsx(office2016)openpyxl  常用xls(office2003)xlrd  过时了安装依赖pipinstallopenpyxlimportopenpyxlworkbook=openpyxl.load_workbook(path)#导入工作簿workbook.worksheets#list[<Worksheet......
  • 走进Java接口测试之读取配置文件
    前言但在大部分用例开发环境下,添加额外配置是无所避免的,比如自定义应用端口号、服务地址、数据库的配置等,都或多或少的需要一些外部的配置项等。在前文中我们有详细介绍在接口测试框架中如何基于SpringBoot快速搭建多环境配置,本文将在原有的基础上介绍集成如何快速读取配置文件的......
  • 在linux中如何正确的处理交换文件
    我们在使用linux的过程中经常会由于人为的原因或者网络的原因把一个shell意外的关闭比如看以下的情况我这里vim了一个文件但是我没有保存我直接就把这个shel给关闭了图中所示的那个就是交换文件 如果你不对他删除他是永远不会消失的这样在很多的时候就会导致很多的问题出现当......
  • 读取配置文件的配置字典数据(字典数据包含中文)
        项目有时为了方便配置数据字典,会创建类似于“test=测试”的key-value形式的数据字典,在项目启动时便缓存该字典数据,方便后续使用;但是该字典有时候又存在中文,在加载之后会出现乱码问题,便需要对加载的数据进行特殊处理。publicclassConfigUtils{/***加......
  • java中如何创建带路径的文件
    请教各位大侠了,java中如何创建带路径的文件,说明下这个路径不存在------回答---------------其他回答(2分)---------JavacodeFilef=newFile("c:/1.txt");if(!f.exists()){try{f.createNewFile();}catch(IOExceptione){e.printStackTrace();}}------其他回答(18分)----......