从 Express 端点下载 zip 存档
Downloading a zip archive from Express endpoint
我有一个简单的问题,但在过去的 2 天里它一直让我抓狂。
我的 node/express 应用程序中有一个 archive.zip
文件,我正尝试通过响应发送该文件。
我的代码非常简单,我有一个端点 /download
,它唯一的工作就是 response.download("archive.zip")
.
但是,在下载文件时(通过浏览器访问 URL),下载了 .zip 存档,但存档中的文件已损坏,我得到错误 Unexpected end of archive
.
实际文件是一个完好的、未损坏的存档。我可以毫无问题地在 windows 文件系统上访问它。它只是在传输时被损坏。
我试过设置各种响应头,其中:
Content-Disposition: attachment
Content-Type: application/zip, application/content-stream
Transfer-Encoding: chunked
到目前为止没有任何效果。我在 google / reddit / Whosebug 上进行了广泛的搜索,到目前为止还没有找到解决方案。
感谢您的任何或所有回复。
注意:我正在使用 Express Router(需要('express').Router())
注意 2:我正在尝试下载的简单 zip - http://s000.tinyupload.com/?file_id=06192736420392118369
问题来自错误的异步模式和链接。操作执行顺序不正确,因此我的存档在完成之前就已发送。
我有一个简单的问题,但在过去的 2 天里它一直让我抓狂。
我的 node/express 应用程序中有一个 archive.zip
文件,我正尝试通过响应发送该文件。
我的代码非常简单,我有一个端点 /download
,它唯一的工作就是 response.download("archive.zip")
.
但是,在下载文件时(通过浏览器访问 URL),下载了 .zip 存档,但存档中的文件已损坏,我得到错误 Unexpected end of archive
.
实际文件是一个完好的、未损坏的存档。我可以毫无问题地在 windows 文件系统上访问它。它只是在传输时被损坏。
我试过设置各种响应头,其中:
Content-Disposition: attachment
Content-Type: application/zip, application/content-stream
Transfer-Encoding: chunked
到目前为止没有任何效果。我在 google / reddit / Whosebug 上进行了广泛的搜索,到目前为止还没有找到解决方案。
感谢您的任何或所有回复。
注意:我正在使用 Express Router(需要('express').Router())
注意 2:我正在尝试下载的简单 zip - http://s000.tinyupload.com/?file_id=06192736420392118369
问题来自错误的异步模式和链接。操作执行顺序不正确,因此我的存档在完成之前就已发送。