Sha256: 051807791ee1dd4b47b070bccf7acc3637c1b59a96e3305345c67c1b4ed106f1

Contents?: true

Size: 894 Bytes

Versions: 6

Compression:

Stored size: 894 Bytes

Contents

require_dependency "my_forum/application_controller"

module MyForum
  class AttachmentsController < ApplicationController

    def create
      upload_path = File.join(Attachment::UPLOAD_PATH, current_user.id.to_s)

      # Create dir of not exists
      FileUtils::mkdir_p upload_path

      attachment_ids = []

      params[:files].each do |uploaded_io|
        next unless Attachment::ALLOWED_FILE_EXTENSIONS.include? File.extname(uploaded_io.original_filename)

        file_name = "#{Time.now.to_i}_#{uploaded_io.original_filename}"
        File.open(File.join(upload_path, file_name), 'wb') do |file|
          file.write(uploaded_io.read)
        end

        attachment = Attachment.create(user_id: current_user.id, file_name: file_name)
        attachment_ids.push attachment.id
      end

      render json: { success: true, attachments: attachment_ids }.to_json
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
my_forum-0.0.1.beta32 app/controllers/my_forum/attachments_controller.rb
my_forum-0.0.1.beta31 app/controllers/my_forum/attachments_controller.rb
my_forum-0.0.1.beta30 app/controllers/my_forum/attachments_controller.rb
my_forum-0.0.1.beta29 app/controllers/my_forum/attachments_controller.rb
my_forum-0.0.1.beta28 app/controllers/my_forum/attachments_controller.rb
my_forum-0.0.1.beta27 app/controllers/my_forum/attachments_controller.rb