在javascript中获取zip文件的文件名

ihs*_*san 4 javascript zip filenames unzip

在我的应用程序中,我有一个包含一些字段和一个input file字段的表单,一旦用户上传,zip file我想获取此中包含的文件的名称zip file

这是形式:

<input type="text" name="code" value="CodeValue">
<input type="text" name="Comment" value="commentValue">
<input type="file" name="zipFile" value="zipValue" accept="application/zip" 
       onchange="getzipFilesNames();" id="file-input">

<script>
    function getzipFilesNames() {

    }
</script>
Run Code Online (Sandbox Code Playgroud)

我不需要提取文件,我只需要它们的名称。我如何使用 JavaScript 来做到这一点?

ihs*_*san 5

我找到了一种使用JSUnzip库和JSInflate库的简单方法:这是示例代码:

        var filesInput = document.getElementById("file-input").files[0];
        var res;

        var reader = new FileReader();
        reader.readAsBinaryString(filesInput);

        reader.onloadend = function(e){
            var myZip = e.target.result;                 
            var unzipper = new JSUnzip(myZip);

            unzipper.readEntries();    
            var myFiles = unzipper.entries;    

            for(var i=0; i<myFiles.length; i++) {
                var name = myFiles[i].fileName; // This is the file name
                var content = JSInflate.inflate(myFiles[i].data); // this is the content of the files within the zip file.
            }
        }   
Run Code Online (Sandbox Code Playgroud)