通过输入类型文件上传 zip 文件 angularjs

Upload a zip file via input type file angularjs

我不是每天 angularjs,我尝试添加一个上传文件按钮。它最多只需要 .zip 和 20 MB。我做到了

试试#1

<input class="pull-right" type="file" id="fileUpload" name="fileUpload" ngf-select="$ctrl.uploadFile()" ngf-pattern="'application/zip'" ngf-max-size="20MB">

试试#2

Add onchange="angular.element(this).scope().setFiles(this)"

<input class="pull-right" type="file" id="fileUpload" name="fileUpload" ngf-select="$ctrl.uploadFile()" ngf-pattern="'application/zip'" onchange="angular.element(this).scope().setFiles(this)" ngf-max-size="20MB">

还有我的组件文件

this.uploadFile = {};
this.uploadFile.Iserror=false;


this.uploadFile = function(files) {    
    this.uploadFile.Iserror=false;



    console.log(files); //undefined
    


                   
    if(files[0].type!=="zip"){
        alert("Not a zip file.");
        this.uploadFile.Iserror=true;
        return false;
    }       
};

我需要做什么才能访问我选择的文件?

输入

<input class="pull-right" type="file" ngf-max-size="20MB" ngf-select="$ctrl.uploadFile($file, $invalidFiles)" ngf-pattern="'*zip*'"/>

组件

this.uploadFile = function(file, invalidFiles) {    
    console.log(file, invalidFiles);
};

控制台


访问

console.log(file.name, file.size, file.type);
// ea8300-1.0.0.tar.gz 11980935 application/x-gzip