RubyZip - 来自不同目录的文件具有zip路径

时间:2009-10-16 10:32:43

标签: ruby rubygems

我正在尝试使用RubyZip打包一些文件。目前,我有一种方法,可以在特定的目录和子目录上快乐地拉链。

def zip_directory(zipfile)
    Dir["#{@directory_to_zip}/**/**"].reject{|f| reject_file(f)}.each do |file_path|
        file_name = file_path.sub(@directory_to_zip+'/','');
        zipfile.add(file_name, file_path)
    end
end

但是,我想要从完全不同的文件夹中包含一个文件。我有以下方法来解决这个问题:

def zip_additional(zipfile)
    additional_files.reject{|f| reject_file(f)}.each do |file_path|
        file_name = file_path.split('\\').last
        zipfile.add(file_name, file_path)
    end
end

添加文件时,它还会复制目录结构,而不是将文件放在文件夹的根目录下。这真的很烦人,使得使用起来更加困难。

我该如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:1)

有设置包含(或排除)zip库的完整路径,请检查该设置

答案 1 :(得分:0)

原来是因为文件名中有拉入路径。我的分割不起作用,因为路径使用的是/而不是a。从文件名中删除路径它只是工作。