ruby-on-rails - 动态生成图像 zip 时出现 ruby​​zip 错误 : End-of-central-directory signature not found

标签 ruby-on-rails ruby rubyzip

我正在从图像集合生成一个 zip 文件,然后将其发送给用户。

我使用的代码与本页给出的示例几乎完全相同;

http://info.michael-simons.eu/2008/01/21/using-rubyzip-to-create-zip-files-on-the-fly/

它在我的本地开发盒上工作得非常好,但是当我在临时服务器上运行它时,我得到一个零长度的 zip 文件,当我尝试打开它时,它出现以下错误。

“未找到中央目录结尾签名”

显然,当它在我的开发机器上运行良好时,很难排除哪里出了问题!

干杯, 格雷姆

最佳答案

明白了!

这是因为 Rails 3 默认使用 x_sendfile,而服务器没有为此设置。

最终与 zip 无关,它只是文件发送。这篇文章解释了一切;

Rails sends 0 byte files using send_file

关于ruby-on-rails - 动态生成图像 zip 时出现 ruby​​zip 错误 : End-of-central-directory signature not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5407168/

相关文章:

ruby-on-rails-3 - 使用 wicked_pdf 从生成的 PDF 生成 ZIP

javascript - TinyMCE 编辑器未初始化

ruby-on-rails - 可以在 Rails 3.2 中基于每个请求禁用 Rack 缓存吗?

mysql - 呈现 :edit causes form URL to change/fail after update

ruby-on-rails - PostgreSQL 按两个日期中最旧的日期排序?

ruby - 如何从源代码加载 gem?

ruby-on-rails - 乘客并发连接错误

ruby-on-rails - rails 3.2 + OSX : Cannot install rmagick gem

ruby - 在 Ruby 中创建 zip 存档而不将存档文件保存到磁盘

ruby-on-rails - ruby 压缩包 : Unable to find path of file stored in Active Storage