如何编写一个从文件实例中提取 :path 和文件名的方法,以在扫描仪方法中使用?
How can I write a method that extracts :path and file name from the file instance, to use in a scanner method?
我正在尝试从上传的文件中提取路径和文件名,以便我可以 运行 对其进行扫描。谢谢!
我的想法是:
scanner = Bundler::Audit::Scanner.new(root=:path,gemfile_lock=file_file_name)
scanner = Bundler::Audit::Scanner.new(File.dirname,File.file_file_name)
您查看 uploading files 的指南了吗? params
将 return 一个 StringIO
或 File
对象,以 Tempfile
形式提供上传。使用像 Paperclip
这样的 gem 可以使上传和扫描的过程变得更加简单,因此绝对推荐您尝试一下。
另外,您调用的File
方法是class方法,所以您需要传递一个实例给它们。
假设你想扫描临时文件,然后保存或丢弃它,你可以在你的控制器中做这样的事情:
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
我正在尝试从上传的文件中提取路径和文件名,以便我可以 运行 对其进行扫描。谢谢!
我的想法是:
scanner = Bundler::Audit::Scanner.new(root=:path,gemfile_lock=file_file_name)
scanner = Bundler::Audit::Scanner.new(File.dirname,File.file_file_name)
您查看 uploading files 的指南了吗? params
将 return 一个 StringIO
或 File
对象,以 Tempfile
形式提供上传。使用像 Paperclip
这样的 gem 可以使上传和扫描的过程变得更加简单,因此绝对推荐您尝试一下。
另外,您调用的File
方法是class方法,所以您需要传递一个实例给它们。
假设你想扫描临时文件,然后保存或丢弃它,你可以在你的控制器中做这样的事情:
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