Method: FileYard#upload_file
- Defined in:
- app/models/file_yard.rb
#upload_file(name, io) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/models/file_yard.rb', line 15 def upload_file(name, io) sanitize_file_name(name) if io.kind_of?(Tempfile) io.close check_upload_size(io.size) FileUtils.mv(io.path, file_path(name)) else content = io.read check_upload_size(content.length) File.open(file_path(name), 'wb') { |f| f.write(content) } end # just in case, restrict read access and prohibit write access to the uploaded file FileUtils.chmod(0440, file_path(name)) end |