Ruby on rails Ruby/Rails中的Zip文件导出问题
我的rails操作遇到了一个问题,它从我的数据库中获取二进制(blob)文件,并将它们打包成一个漂亮的zip文件,然后最终发送出去供下载。当我尝试解压文件时会出现问题,它会说“无法扩展;错误1-不允许操作”。我相信这意味着文件已损坏,但我不知道我做错了什么。我已经在下面包含了我的代码,任何帮助都将不胜感激。谢谢Ruby on rails Ruby/Rails中的Zip文件导出问题,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的rails操作遇到了一个问题,它从我的数据库中获取二进制(blob)文件,并将它们打包成一个漂亮的zip文件,然后最终发送出去供下载。当我尝试解压文件时会出现问题,它会说“无法扩展;错误1-不允许操作”。我相信这意味着文件已损坏,但我不知道我做错了什么。我已经在下面包含了我的代码,任何帮助都将不胜感激。谢谢 require 'zip/zip' require 'zip/zipfilesystem' def export @layers = Layer.where('group_id &
require 'zip/zip'
require 'zip/zipfilesystem'
def export
@layers = Layer.where('group_id > 1')
temp = Tempfile.new("layers-zip-export")
Zip::ZipOutputStream.open(temp.path) do |zipfile|
@layers.each do |layer|
zipfile.put_next_entry(layer.name)
file = Tempfile.new("temp-" + layer.id.to_s)
file.binmode
file << layer.file
file.rewind
zipfile.write IO.binread(file.path)
file.close
file.unlink
end
end
send_file temp.path, :type => 'application/zip', :filename => "layer-export.zip"
temp.close
end
需要'zip/zip'
需要“拉链/拉链系统”
def导出
@层=层。其中('group\u id>1')
temp=Tempfile.new(“图层zip导出”)
Zip::ZipoutStream.open(临时路径)do | zipfile|
@层。每个do |层|
zipfile.put_下一个_条目(layer.name)
file=Tempfile.new(“temp-”+layer.id.to\s)
file.binmode
文件'application/zip',:filename=>“layer export.zip”
临时关闭
结束
你好。。同样的问题。。你能想出来吗?