如何编写一个从文件实例中提取路径和文件名的方法,以便在扫描方法中使用?

问题描述 投票:-1回答:1

我正在尝试从上传的文件中提取路径和文件名,以便我可以在它们上运行扫描程序。谢谢!

我的想法是:

scanner = Bundler::Audit::Scanner.new(root=:path,gemfile_lock=file_file_name)

scanner = Bundler::Audit::Scanner.new(File.dirname,File.file_file_name)

ruby-on-rails ruby bundler
1个回答
0
投票

你查过uploading files指南了吗? params将返回StringIOFile对象,提供上传为Tempfile。使用像Paperclip这样的宝石使上传和扫描的过程变得更加简单,所以肯定会建议尝试一下。

此外,您调用的File方法是类方法,因此您需要将实例传递给它们。

假设您要扫描Tempfile,然后保存或丢弃它,您可以在控制器中执行以下操作:

def upload_file
  uploaded_io = params[:uploaded_file]
  tempfile = uploaded_io.tempfile
  path = tempfile.path

  # If you need to separate the dir and filename
  dir = File.dirname(path)
  filename = File.basename(path)
  scanner = Bundler::Audit::Scanner.new(dir, filename)
end
© www.soinside.com 2019 - 2024. All rights reserved.