我有一个托管在 heroku 上的 Sinatra 应用程序,我正在尝试启用文件上传。我知道 heroku 不允许保存到文件系统,所以我尝试直接使用 GridFS 将图像保存到 MongoDB。但我不知道怎么做。使用下面的代码,我可以保存到文件系统
base_dir = Dir.pwd + "/static/images/channels/"
File.open("#{base_dir}" + params['logo'][:filename], "w") do |f|
f.write(params['logo'][:tempfile].read)
end
如何在不先将文件保存到文件系统的情况下将文件直接保存到 MongoDB?