Skip to main content

only large files upload on S3 | Ruby On Rails


models/attachment.rb


class Attachment < ApplicationRecord

after_initialize :set_storage

private

def set_storage
# larger that 5mb file would be upload on s3
if file.blob.byte_size > 5_000_000
Rails.application.config.active_storage.service = :amazon
else
Rails.application.config.active_storage.service = :local
end
end

# end of private

end

Comments

suggestions

Popular posts from this blog

Why "F" and "L" suffix | (10.0F, 10L)

Let us take it this way, We will create their needs. So we will get why they are needed. Try to guess, which functions will be executed in the following program: public class MyClass {     public static void main(String args[]) {         MyClass obj = new MyClass();         obj.fun1(10);     }     void fun1(byte val){         System.out.println(val);     }     void fun1(int val){         System.out.println(val);     }     void fun1(float val){         System.out.println(val);     }     void fun1(long val){         System.out.println(val);     }     } It seems like every method is capable to run this program because 10 is still literal because It has no data type. Before Java, In previous technologies, this scenario gave an ambiguity error. But Java solves this problem by removing the concepts of literals. It means Java provide a data type immediately when these born. So here 10 is no more literal. Java provides Integer data type for it. So now it is of Integer t

Unicode | What and Why?

We will discuss the following concerns in this article What were the needs of character sets? (ASCII, Unicode etc.) How ASCII has emerged? What is  Unicode and Why is it? Why 1 Bit = 8 Byte? Why Java character takes Two Bytes? In the early age of Computer Technology. The only Binary language was there(1,0). We, the Human, were not comforting with Binary. When they tried to write their name in binary it was time taking and can be a mesh. They needed a human language to use which is most often to use. This technology was emerging in the US. so they need the English language. They found Latin which contains 256 characters including 26 characters of English + German + French + special characters + numbers and others. Language is just a set of characters. So they assign a binary sequence of 8 bit for their every English alphabet's character as: a =>  01100001 b  =>  01100010 c  =>  01100011 A  =>  01000001  etc. That's why 1 Byte = 8 Bit, as 2^8 = 256