class FilesController < ApplicationController require 'digest/md5' def index end def new @file = Files.new end def create uploaded_io = params[:file][:file] ext = uploaded_io.original_filename.split('.').last md5hash = Digest::MD5.hexdigest(uploaded_io.original_filename) File.open(Rails.root.join('public', 'uploads', md5hash + '.' + ext), 'wb') do |file| file.write(uploaded_io.read) end file = File.open(Rails.root.join('public', 'uploads', md5hash), 'wb') @file = Files.new(:name => uploaded_io.original_filename, :ext => ext, :md5 => md5hash, :size => file.size, :loaded => 0, :uploaded => DateTime.now.to_date ) if @file.save redirect_to @file else render 'index' end end def show @file = Files.find(params[:id]) end def last end end