我有一个原始文件,需要复制到临时文件。
我正在尝试在Tempfile.create
块内进行操作
但是文件没有出现。
如何正确创建临时文件?
dest_path_to = "public/medicine/reports/#{report_id}"
FileUtils.mkdir_p(dest_path_to)
original = File.open(pdf_path).read
file = Tempfile.create("report-#{report_id}.pdf", dest_path_to) do |f|
f.write original
end
答案 0 :(得分:3)
来自documentation(重点是我):
如果给出了一个块,则将构造一个File对象,并使用该对象作为参数来调用该块。该文件块终止后,文件对象将自动关闭并删除临时文件。调用返回该块的值。
如果出于某种原因希望文件显示在文件系统中,请不要使用Tempfile.create
的块形式。