Js 点击按钮 选择文件后 自动上传文件

    /*批量导入*/
    /*#load:为按钮,点击后生成一个隐藏的input file标签*/
    $('#load').after('<input type="file" id="load_xls" name="file" style="display:none" onchange ="uploadFile()">');
    $('#load').click(function(){
        document.getElementById("load_xls").click();
    });
    function uploadFile() {
        var myform = new FormData();
        myform.append('file',$('#load_xls')[0].files[0]);
        $.ajax({
            url: "admin.php?r=org/orguser/addusers",
            type: "POST",
            data: myform,
            contentType: false,
            processData: false,
            success: function (data) {
                console.log(data);
            },
            error:function(data){
                console.log(data)
            }
        });
    }
  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
el-upload组件本身支持多文件上传,但是默认是并发上传,这样容易导致服务器压力过大。如果需要实现自动上传,可以通过设置属性`:auto-upload="false"`来禁用自动上传,然后在上传按钮点击事件中手动调用上传方法`this.$refs.upload.submit()`来实现逐个上传文件的功能。具体实现可以参考以下代码: ```html <el-upload ref="upload" :auto-upload="false" :on-success="handleSuccess" :on-error="handleError" > <el-button slot="trigger" type="primary">选取文件</el-button> <el-button style="margin-left: 10px;" type="success" @click="uploadFiles">上传文件</el-button> </el-upload> ``` ```javascript data() { return { fileList: [], // 上传的文件列表 currentIndex: 0 // 当前上传的文件索引 } }, methods: { // 上传文件 uploadFiles() { if (this.fileList.length === 0) { this.$message.warning('请先选择文件') return } this.currentIndex = 0 // 重置当前上传的文件索引 this.uploadFile(this.fileList[this.currentIndex]) // 上传第一个文件 }, // 上传单个文件 uploadFile(file) { this.$refs.upload.upload(file.raw) // 调用上传方法 }, // 上传成功回调 handleSuccess(response, file, fileList) { this.currentIndex++ // 当前上传的文件索引加1 if (this.currentIndex < this.fileList.length) { this.uploadFile(this.fileList[this.currentIndex]) // 继续上传下一个文件 } else { this.$message.success('上传成功') } }, // 上传失败回调 handleError(err, file, fileList) { this.$message.error('上传失败') } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值