module IdCard class EmployerLogosController < ApplicationController # View Methods def index end def show end def new end def create file = logo_params["logo_file"] employer_id = logo_params["employer_id"] employer = Employer.find(employer_id) setup = employer.id_card_setup if setup.present? && file.present? && file.is_a?(ActionDispatch::Http::UploadedFile) filename = file.original_filename # binary_data = file.read binary_data = File.binread(file) meme_type = Marcel::MimeType.for(file) employer_logo = IdCard::EmployerLogo.find_or_create_by(filename: filename, setup_id: setup.id) employer_logo.update(image_data: binary_data) render json: employer_logo, only: [:id], status: :ok end end def edit end def update end def destroy end # API Methods def image logo_file = IdCard::EmployerLogo.find(params[:id]) puts params[:id] logo_binary = logo_file.image_data logo_filename = logo_file.filename send_data logo_binary, filename: logo_filename, disposition: 'inline' end private def logo_params params.require(:id_card_employer_logo).permit(:logo_file, :employer_id) end end end