首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未找到中心目录签名的Zip结尾

未找到中心目录签名的Zip结尾
EN

Stack Overflow用户
提问于 2020-04-28 23:09:51
回答 1查看 359关注 0票数 0

我正在尝试允许用户上传一个包含xsl样式表的压缩文件夹。然后,我想要解压缩该文件夹并将其保存在Rails.root/public/xsl/folderName

这是我在我的行动中尝试的:

代码语言:javascript
运行
复制
require 'zip'

Zip::File.open(params[:stylesheet].tempfile) do |zipFile|
  zipFile.each do |file|
    path = File.join(Rails.root.join('public','xsl'),file.name)
    File.open(path, 'wb') do |f|
      f.write(file)
    end
  end
end

我去找Zip::Error: Zip end of central directory signature not found from /GEMS/gems/rubyzip-1.3.0/lib/central_directory.rb:143:in `get_e_o_c_d`

此错误发生在代码的第一行。我已经尝试过通过7Zip压缩文件夹,并将文件夹发送到Window的“压缩(压缩)文件夹”中。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-02-13 13:56:37

Zip::Error: Zip end of central directory signature not found from /GEMS/gems/rubyzip-1.3.0/lib/central_directory.rb:143:in get_e_o_c_d

  • 错误表示:可能,.xlsx文件已损坏。您还可以通过尝试将其从代码中解压缩来发现压缩文件是否已损坏。

  • 解决方案:内容被强制编码为utf-8,并在上传后处理缓冲文件,并在上传后提取其数据。我建议使用roo-xls gem的代码,它可以很容易地处理.csv/.xlsx文件。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61483583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档