나는 Heroku가 장기간의 파일 저장 장치를 가지고 있지 않아서 S3 등으로 이동해야한다는 것을 발견했습니다. 새로운 비트와 조각들이 많아서 CarrierWave-direct
을 사용하여 S3로 직접 업로드 한 다음 delayed_job
을 처리하는 것이 내 Rails 앱에서 작동하는 방법을 이해해야합니까?레일즈, Amazon S3 스토리지, CarrierWave-Direct 및 delayed_job -이게 맞습니까?
내가 내가 올바르게 코딩 경우 어떻게해야한다고 생각 것은 다음
- 내가 설정 내 버킷을 (를) S3 계정에 가입하고 인증 세부 사항은 내가 필요 등 그 수 내가 직접 업로드 화이트리스트 내가
CarrierWave
&CarrierWave-direct
(또는 유사)에 사용 - 내 업로드 (이후 다운로드) 방지에서 크로스 도메인을 중지하지 않는 것이 확인
- (적절하게 내 사용자로부터 숨겨진)에서 프로그램에 대한 업로드 중에 내 앱을로드하지 않도록 내 업로드를 만듭니다.
- S3는 임의의 액세스 ('파일 이름') 정보를 생성하므로 동일한 이름의 파일을 업로드하는 여러 사용자와 파일을 덮어 쓰는 것에 대해 걱정할 필요가 없습니다. 원본 이름을 신경 쓰면 메타 데이터를 사용하여 저장할 수 있습니다.
CarrierWave-direct
은 업로드 후 '업로드 완료'URL로 사용자 브라우저를 리디렉션합니다. 여기서 delayed_job 또는 팝업을 만들 수 있습니다. '죄송합니다. 잘못되었습니다'알림.- 이 시점에서 사용자는 작업이 시도되고 다른 작업으로 이동한다는 것을 알고 있습니다.
- 내
delayed_job
작업은 S3 API를 사용하여 파일에 액세스하고 완료되면 입력 파일을 삭제할 수 있습니다. delayed_job
이 완료되어 사용자에게 일반적인 방법으로 예를 들어 알려줍니다. 이메일.
누락 되었습니까? 감사.