Angular4上传Excel文件

*.html

<div id="upload" class="form-group">
    <label for="lastname" class="col-sm-3 control-label">批量导入</label>
    <div class="col-sm-6">
    <input type="text" [value]="selectFileName" class="form-control" readonly="true"/>
</div> 
 <!-- 给这个input 设置样式隐藏 -->
<input type="file" id="file" accept=".xls,.xlsx" ng2FileSelect [uploader]="uploader" style="filter:alpha(opacity=0);opacity:0;width: 0;height: 0;" (change)="selectedFileOnChanged($event)" />
<!-- <input type="file" id="file" accept=".xls,.xlsx" ng2FileSelect [uploader]="uploader" style="display:none" (change)="selectedFileOnChanged($event)" /> -->

<input class="btn btn-default" type="button" value="浏览..." (click)="selectFile()"/>
<input class="btn btn-primary" type="button" value="上传" (click)="uploadFile()" [disabled]="btnUploadIsDisabled"/>
<!-- <label for="lastname" class="col-sm-3 control-label">批量导入</label>
<div class="col-sm-6">
    <input type="file" accept=".xls,.xlsx" ng2FileSelect [uploader]="uploader" (change)="selectedFileOnChanged($event)" />
    <input class="btn btn-default" type="button" value="上传" (click)="uploadFile()" [disabled]="btnUploadIsDisabled"/>
</div> -->
</div>

 

*.ts

btnUploadIsDisabled: Boolean; //使上传按钮失效
selectFileName:any = "未选择文件";
uploader: FileUploader = new FileUploader({
    url: 'http://****',
    method: 'POST',
    itemAlias: 'file',
    autoUpload: false,
    // removeAfterUpload: true,
    allowedFileType: ['xlsx', 'xls'],
});
selectedFileOnChanged(event: any) {
    // 打印文件选择名称
    this.btnUploadIsDisabled = false;       
        <!-- “\”是转义字符,所以要表示一个字符串“\”就要用“\\” -->
    this.selectFileName = event.target.value.substr(event.target.value.lastIndexOf("\\")+1);
    console.log(this.selectFileName);
}

uploadFile() {
    // 上传
    this.btnUploadIsDisabled = true;
    this.uploader.queue[0].onSuccess = (response, status, headers) => {
        // 上传文件成功
        if (status === 200) {
            // 上传文件后获取服务器返回的数据
            console.log('status:' + status);
            const tempRes = JSON.parse(response);
            if (tempRes.result == 'OK') {
                this.isSuccess = true;
                this.btnUploadIsDisabled = false;
                this.showMessage("成员上传成功");
            } else {
                this.isSuccess = false;
                this.btnUploadIsDisabled = false;
                this.showMessage(tempRes.data);
            }
        } else {
            // 上传文件后获取服务器返回的数据错误
            this.isSuccess = false;
            this.btnUploadIsDisabled = false;
            this.showMessage("网络异常,请重新尝试");
        }
    };
    this.uploader.queue[0].upload(); // 开始上传
}
selectFile(){
    document.getElementById("file").click();
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值