部署用的 Gunicorn 18.0 和 eventlet 0.20.1。
问题来了:
如果用 eventlet,则在 Chrome 浏览器里直接打开的 make_response 生成的 PDF 文件预览没问题,下载只能下载部分数据,不能下载整个完整的 PDF。
Chrome 在加载完整个 PDF 预览后,点击下载按钮,不是直接从缓存下载的 PDF 么,为什么预览没有问题,下载却下载不完整呢?在 Edge 和 Firefox 中测试都可以完整下载。
但是,如果不使用 eventlet,Chrome 也是可以完整下载的。
这到底是为啥?查看了 Nginx 的 access 日志,Chrome 点击 pdf 上的下载按钮,并没有再访问服务器啊。
问题来了:
如果用 eventlet,则在 Chrome 浏览器里直接打开的 make_response 生成的 PDF 文件预览没问题,下载只能下载部分数据,不能下载整个完整的 PDF。
Chrome 在加载完整个 PDF 预览后,点击下载按钮,不是直接从缓存下载的 PDF 么,为什么预览没有问题,下载却下载不完整呢?在 Edge 和 Firefox 中测试都可以完整下载。
但是,如果不使用 eventlet,Chrome 也是可以完整下载的。
这到底是为啥?查看了 Nginx 的 access 日志,Chrome 点击 pdf 上的下载按钮,并没有再访问服务器啊。