我正在尝试创建可以存储在外部服务器上的PDF。如何在不触摸硬盘的情况下创建文件?
我这样做:
File.new("temp.pdf", "w").close
File.open("temp.pdf", "wb") do |f|
f.write(bytes)
end
File.open("temp.pdf", "r") do |f|
# upload `f` to server
end
File.delete("temp.pdf")
然后将它们上传到服务器。
在我的本地机器上,这工作正常,但是,我最近尝试在另一台机器上运行,并且在日志中出现权限错误。
有没有一种办法:
- 写字节的文件。
- 切勿触摸硬盘。
我想你在这里得出结论。如何解决根本问题---权限错误? – erjiang
,因为我不需要将文件存储在机器上。在我的例子中,我创建了一个文件。然后在上传后将其删除。似乎没有必要。 – NullVoxPopuli
不是文件只是硬盘上的字节集合吗?在不接触硬盘的情况下写字节只是将数据保存在内存中,就像你的'bytes'变量。编辑:似乎你想使用'文件'模块的一些功能,而没有一个实际的文件,对吧? –