Какая польза от метода res.attachment()

Я хотел добавить функциональность, где пользователь может пойти по маршруту и ​​скачать почтовый индекс. Чтобы сделать zip, я использую архиватор, если я просматриваю документы архиватора, то первым делом я должен сделать поток записи и затем передать его zip(output) метод (выходной поток записи), а затем, чтобы загрузить этот файл, я могу использовать res.download(filepath) но я нашел решение, где res.attachment(download.zip) используется, а затем Res передается в zip(res) и когда маршрут посещен, заархивированный файл загружается.

То, что я не понял здесь, это природа res.attachment(), Это работает как поток записи? Если это произойдет, то будут ли данные, содержащиеся в res, также записаны в файл?
PS: я прочитал документацию по экспрессу, но мало информации о attachment() метод

Код

download() {
    const files = this.result.files
    const zip = archiver('zip', {
        zlib: {level: 9}
    })
    const response = this.response

    response.attachment('download.zip')
    zip.pipe(response)

    files.forEach((file) => {
        const filePath = path.join(uploadDir, file.filename)
        zip.file(filePath, {name: file.originalname})
    })

    zip.finalize()
}

0 ответов

Другие вопросы по тегам