Javascript JSZip创建空存档

Javascript JSZip创建空存档,javascript,jszip,Javascript,Jszip,我试图通过递归地将文件和子文件夹添加到zip,然后使用AJAX上传zip来上传文件夹。下面是我编写的代码: if(item.isDirectory){ var zip = new JSZip(); create_zip_dir(zip, item, ""); zip.generateAsync({ type: "blob" }).then(function (file) { console.log(file); file =

我试图通过递归地将文件和子文件夹添加到zip,然后使用AJAX上传zip来上传文件夹。下面是我编写的代码:

if(item.isDirectory){
    var zip = new JSZip();
    create_zip_dir(zip, item, "");

    zip.generateAsync({
      type: "blob"
    }).then(function (file) {
      console.log(file);
      file = new File([file], item.name + ".zip", {
        type: "application/zip"
      })
      console.log(file);
      //console.log(file); 
      do_upload(file, wd_id);
    });

function create_zip_dir(zip, item, path){

  if(item.isFile){
    var name = path + item.name;  
    item.file(function(file) {
      if(file.name.substring(file.name.lastIndexOf('.')+1) === "docx"){
        file = new File([file], file.name, {
          type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
        })
      }
      zip.file(name, file);
    });
  } else if(item.isDirectory){
    var dirReader = item.createReader();
    dirReader.readEntries(function(entries) {
      for (var i=0; i<entries.length; i++) {
        create_zip_dir(zip, entries[i], path +  item.name + "/");
      }
    });
  }
}
上传后,当我检查.zip时,归档文件总是空的。谢谢你的帮助

Blob {size: 22, type: "application/zip"}
size: 22
type: "application/zip"
__proto__: Blob