如何在Ruby中将pdf文件复制到临时文件?

时间:2019-02-13 05:36:22

标签: ruby-on-rails ruby

我需要制作pdf文件的临时副本,将其显示并过一会儿将其删除。
现在,我这样做了:

content = File.open(pdf).read # in pdf i have path to original pdf
locale_file = Tempfile.open('whatever.pdf')
locale_file.write content
locale_file.flush

但是临时pdf为空。如何解决?

我需要在临时文件中复制原始pdf文件。

UPD

content = File.open(pdf).read
locale_file = Tempfile.open('whatever.pdf')
locale_file.write content
locale_file.rewind

1 个答案:

答案 0 :(得分:0)

如果您确实不需要TempFile类,并且可以在打开后手动删除文件,则可以将pdf复制为实际文件。 您可以在FileUtils模块中使用cp方法并复制文件。

FileUtils.cp("path/to/pdf", "temp/pdf/path")

如果需要使用TempFile类,可以考虑通过阅读源this way

来编写临时文件。