如何向ruby Tempfile对象添加扩展名?

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

如何为Tempfile对象添加扩展名?

image_path = "https://api.tinify.com/output/g85retpckb5fz2x8zpjrvtj0jcv1txm0"
image = open(image_path)
image.path # "/tmp/open-uri20191225-21585-oo95rb"

现在我要使该文件具有jpg扩展名,该怎么办?

我也曾尝试将其转换为File类,但也无法更改扩展名。

new_image = File.new(image)
new_image.path # "/tmp/open-uri20191225-21585-oo95rb"
ruby file temporary-files
1个回答
1
投票
使用FileUtils#mv在文件系统上物理移动文件。

image_path = "https://api.tinify.com/output/g85retpckb5fz2x8zpjrvtj0jcv1txm0" image = open(image_path) image.path # "/tmp/open-uri20191225-21585-oo95rb" image_path_jpg = "#{image.path}.jpg" FileUtils.mv(image.path, image_path_jpg) image = open(image_path_jpg) image.path # "/tmp/open-uri20191225-21585-oo95rb.jpg"

[请注意,由于该文件不再是临时文件,因此您现在要负责文件的删除。
© www.soinside.com 2019 - 2024. All rights reserved.