gpt4 book ai didi

Ruby Tempfile - 修改文件名?

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:53 25 4
gpt4 key购买 nike

在上传到新目的地之前,我使用 Tempfile 存储生成的 PDF。

    pdf_file = WickedPdf.new.pdf_from_string(msgbody)
tempfile = Tempfile.new(['Bob', '.pdf'], Rails.root.join('public','pdf-test'))
tempfile.binmode
tempfile.write pdf_file
tempfile.close

虽然这工作正常,但生成的文件名(例如 bob20140331-19260-1g6rzr1.pdf)对用户而言并不友好。

我知道 Tempfile 创建了一个唯一的名称以及原因,但我最终需要更改名称以使其更直观/更容易让我的用户理解。

有推荐的方法吗?即使它只是简单地删除中间(19260)?感谢您的时间和协助。

最佳答案

Tempfile 用于创建一个具有唯一文件名的临时文件,它将被垃圾收集器或当 ruby​​ 解释器退出时清理。

Tempfiles 的行为类似于 File 对象,但我不确定您是否可以重命名文件,如果可以,上述自动清理是否仍然有效。此外,如果您手动更改临时文件名,您可能会打破唯一文件名的限制。

我建议创建一个普通文件并自己指定整个名称(succ 方法有助于防止名称冲突)。

您提到,另一种解决方案可能是在上传过程中或之后设置文件名。

关于Ruby Tempfile - 修改文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22761488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com