我正在尝试使用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
添加文件时,它还会复制目录结构,而不是将文件放在文件夹的根目录下。这真的很烦人,使得使用起来更加困难。
我该如何解决这个问题?
由于
本
答案 0 :(得分:1)
有设置包含(或排除)zip库的完整路径,请检查该设置
答案 1 :(得分:0)
原来是因为文件名中有拉入路径。我的分割不起作用,因为路径使用的是/而不是a。从文件名中删除路径它只是工作。