【问题标题】:how to upload files in rails如何在rails中上传文件
【发布时间】:2012-03-05 14:58:12
【问题描述】:
【问题讨论】:
标签:
ruby-on-rails
file-upload
cvs
【解决方案1】:
如果您的目标是将文件上传到您不应该使用 Carrierwave 或 Paperclip 的目录。这些宝石对图像处理和额外选项有很多支持。
我建议您更具体地查看 Ruby 文件类和 open 方法。 http://www.ruby-doc.org/core-1.9.3/File.html#method-c-open
类似下面的东西应该可以解决问题:
# "public/csv" is the directory you want to save the files in
# upload["datafile"] is the data populated by the file input tag in your html form
path = File.join("public/csv", upload["datafile"].original_filename)
File.open(path, "wb") { |f| f.write(upload["datafile"].read) }
请记住,您的公共目录可供全世界访问。如果您需要将这些文件保存在更私密的位置,请确保该目录只能由您的应用读写。
此外,如果您使用的是 CSV 文件,请务必通读 Ruby CSV 类:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html。它使处理 CSV 文件变得轻而易举。