我要在下载zip文件后更改文件名

太三

我要解决的问题

下载zip后,我想更改文件名。我试图弄清楚如何在其中删除目录名称。

在这种情况下,中间目录名称为“输出”。

我想知道是否有更好的方法。

2_J000001719_1202テスト/output/WNS_UP用データ.txt
2_J000001719_1202テスト/output/Images/1051687701.jpg
↓
2_J000001719_1202テスト/WNS_UP用データ.txt
2_J000001719_1202テスト/Images/1051687701.jpg

原始源代码

        add_dir_name = "#{order.priority}_#{order.orderno}_#{company_name[0, 15]}"

        Zip::File.open_buffer(obj) do |zip|
          zip.each do |entry|
            ext = File.extname(entry.name)
            file_name = File.basename(entry.name)
            dir_name = File.dirname(entry.name)
            next if ext.blank? || file_name.count(".") > 1
            dir = File.join(add_dir_name, dir_name)
            FileUtils.mkpath(dir.to_s)
            zip.extract(entry, dir + ext) {true}
            file_name.force_encoding("UTF-8")
            new_file_name = "#{dir}/#{file_name}"
            new_file_name.force_encoding("UTF-8")
            File.rename(dir + ext, new_file_name)
            @input_dir << new_file_name
          end
        end

我尝试了什么

我将此方法添加到了源代码中,但是没有用。

new_dir = Dir.glob(dir_name+"/*").last
demdem = new_dir.split('/').last
new_file_name = dir.sub("/" + demdem, "")
最大清除器

这是将所有文件(递归)从一个目录移动到另一个目录的通用函数:

orig_dir = "2_J000001719_1202テスト/output"
new_dir = "2_J000001719_1202テスト"

def move_all_files(orig_dir, new_dir)
  Dir.glob("#{orig_dir}/**/*").each do |path|
    File.move(path, path.gsub(orig_dir, new_dir))
  end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

设置zip文件下载的文件名

来自分类Dev

HttpHandler 在下载时不保留文件名

来自分类Dev

如何更改要下载的文件名

来自分类Dev

更改文件名后出现错误

来自分类Dev

如何下载文件名已更改的文件?

来自分类Dev

更改文件名

来自分类Dev

更改文件名后,无法使用AppleScript移动文件

来自分类Dev

我们可以将文件名修改后的文件添加到zip存档中吗

来自分类Dev

如何在下载接收器中访问本地文件名?

来自分类Dev

我如何从 php 下载链接中提取文件名

来自分类Dev

下载文件,文件名

来自分类Dev

下载文件,文件名

来自分类Dev

jenkins maven在构建后更改jar文件名

来自分类Dev

上传PHP后如何更改文件名

来自分类Dev

更改文件名后未解析的数据绑定

来自分类Dev

从zip文件获取文件名

来自分类Dev

PHP文本文件在下载时在前面带有数字+意外的文件名

来自分类Dev

Python文件名更改

来自分类Dev

更改海量文件名?

来自分类Dev

更改文件名,如何?

来自分类Dev

langast更改文件名

来自分类Dev

更改.fasta文件名

来自分类Dev

我需要在javascript中验证文件名和扩展名

来自分类Dev

Ubuntu 13.10 Server:wget自动更改下载文件的文件名

来自分类Dev

Firebase Storage Android:如何更改下载文件的文件名?

来自分类Dev

从AngularJS的服务器下载文件时如何更改文件名

来自分类Dev

Ubuntu 13.10 Server:wget自动更改下载文件的文件名

来自分类Dev

Firebase Storage Android:如何更改下载文件的文件名?

来自分类Dev

在文件名后删除文件-vbscript