2018. 9. 14. 14:42 Back-End/Rails

Rails S3 upload

이미지 파일 S3로 올리기

(use carrierwave, fog-aws)


1. gem file


   ```ruby

   gem 'carrierwave'

   gem 'fog-aws'

   ```


2. Bundle install


   ```bash

   $ bundle install

   ```


3. Upload 만들기


   ```bash

   $ rails generate uploader 이름

   ```


4. Form 작성


   ```bash

   <form action="/admin/quiz_upload/create" method="post" enctype="multipart/form-data">

       <div class="form-group" style=" margin-top: 10pt">  

           <label class="control-label col-sm-1" for="image">이미지: </label>

           <div class="col-sm-11">

                <input  type="file" name="img" id="image" accept="image/*" class="form-control"> 

           </div>

       </div>

       <div>

           <div class="col-sm-11">

               <input type="submit"/>

           </div>

       </div>

   </form>

   ```


5. Parameter 넘기기


   ```ruby

   // 이미지 form이 있는 cotroller

   def create

       user_id = params[:user_id]

       uploader = QuizImageUploader.new(user_id)

       binding.pry

       file = params[:img]

       uploader.store!(file)

       @url = uploader.url // S3에 올린 후 url 주소를 리턴 받는다

   end

   ```


   ```ruby

   // upload controller

   def initialize(user_id)

       @user_id = user_id

   end

   ```


6. fog 설정


   ```ruby

   // config/initialzers/fog-aws.rb

   CarrierWave.configure do |config|

       config.fog_provider = 'fog/aws'                        # required

       config.fog_credentials = {

         provider:              'AWS',                        # required

         aws_access_key_id:     'xxx',                        # required

         aws_secret_access_key: 'yyy',                        # required

         region:                'ap-northeast-2',             # optional, defaults to 'us-east-1'

       }

       config.fog_directory  = '버킷이름'            # required

   end

   ```


   


'Back-End > Rails' 카테고리의 다른 글

Rails xml to hash  (0) 2018.09.20
Rails HTTP 통신  (0) 2018.09.19
Rails migrate  (0) 2018.09.18
Rails ORM  (0) 2018.09.18
Ruby 함수  (0) 2018.09.17
Posted by Yuni-Q

블로그 이미지
https://github.com/Yuni-Q/TIL에 정리하기 전 잊지 않기 위해 간단하게 메모해 두는 곳입니다.
Yuni-Q

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.6
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함