从附件列表中读取文件数据后,无法在.zip文件中创建文件夹

时间:2019-05-28 09:19:52

标签: javascript angular xmlhttprequest filereader

我正在阅读附件文件列表,然后创建一个zip文件。在zip文件中,我正在创建一个名为“附件”的文件夹并存储所有附件文件。以下代码用于通过“附件文件夹”创建zip文件。我进行了调试,发现myBlob变量中存在数据,生成了zip文件,但“附件文件夹”不存在。有人可以告诉我该怎么做吗?

for (let i = 0; i < attachmentList.length; i++) {
  const attachment = attachmentList[i]
  const xhr = new XMLHttpRequest()
  xhr.open('GET', attachment.url, true)
  xhr.responseType = 'blob'
  xhr.onload = function(e) {
    if (this.status === 200) {
      const myBlob = this.response
      zip.file(`Attachments/${fileName}`, myBlob)
    }
  }
  xhr.send()
} 

1 个答案:

答案 0 :(得分:0)

const data = fetch(url)
            .then((response) => {
                return response.blob()
            })
            zip.file(`Attachments/${fileName}`, data)