【问题标题】:Rails 4: How to save a file to a serverRails 4:如何将文件保存到服务器
【发布时间】:2017-04-26 14:10:34
【问题描述】:

如何在 Rails 4 中创建一个空的 HTML 文件,然后通过carrierwave 将其保存到服务器?

这是我尝试过的:

file = File.new("abc.html", 'w')
@upload = Upload.create(name: "abc", file: FileUploader.new.store!(file))

上传模型:

mount_uploader :file, FileUploader

这种方法有什么问题?

【问题讨论】:

  • 为什么需要 CarrieWave 来做这件事? Rails 在服务器端运行,如果您创建一个文件,它将存储在服务器中。
  • @Ed de Almeida Rails 将该文件存储在哪里?
  • 这是因为我想将该文件存储在云端而不是我的服务器上。然后,我必须在上传后删除服务器上的文件。
  • 随心所欲!将文件名设置为"#{Rails.root.join('my','directory','path')}/abc.html",它将是<your_app_path>/my/directory/path/abc.html
  • 但是回到我如何使用carrierwave上传它的问题,因为我真的不希望我的服务器上那个文件

标签: ruby-on-rails ruby file ruby-on-rails-4 upload


【解决方案1】:

这应该有效:

class Upload
  mount_uploader :file, FileUploader
end

@upload = Upload.new
@upload.file = File.new("abc.html", 'w')
@upload.save!

【讨论】:

  • 有效。谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-04-24
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多