2013-09-06 1 views
0

내 사이트에 파일을 업로드 할 수있는 곳에서 클립 작업을 할 수 있지만, 업데이트를하고 사이트의 새 버전을 누를 때마다 클립 클립을 통해 업로드 한 모든 파일이 사라지는 것처럼 보입니다. 데이터베이스는 유지됩니다).새로운 푸시 중에 업로드 된 파일이 사라지나요?

나는 사이트의 라이브 버전에서 파일을 가져 오지 않았지만 git pull을 할 때마다 모든 것이 최신이라고 알려주고 있다고 가정합니다. 업로드 한 파일을 다운로드 할 수 있습니까? (나는 현재 파일을 저장하는 데 아마존 S3를 사용하지 않을 것입니다)

답변

0

업로드 한 파일은 공용 폴더에 저장됩니다. 공용 폴더는 코드와 함께 배포되지 않으므로 파일이 사라진 것으로 가정합니다.

아마존 S3를 사용하면 이미지가 s3에 저장되고 이미지에 액세스 할 수있는 동적 URL이 제공됩니다. 그러면 이미지에 올바르게 액세스 할 수 있습니다.

드롭 박스에서 이미지를 저장할 수도 있습니다. 이 응용 프로그램에서 이미지는 dropbox에 저장되어 heroku에서 실행됩니다. 귀하는 추천을받을 수 있습니다 :

https://github.com/aman199002/Album-App # Dropbox의 앨범을 저장할 수있는 오픈 소스 응용 프로그램입니다.

http://album-app.herokuapp.com # heroku에서 실행중인 응용 프로그램의 #Url.

+0

에서 튜토리얼이있다 - 다행히도이 종이 클립 그것을 위해 S3를 사용이 매우 간단 저장 메커니즘입니다 그래서 S3없이 업로드 된 파일을 검색 할 방법이 없습니까? –

+0

s3 또는 dropbox와 같은 장소에 영구적으로 이미지를 저장해야합니다. –

0

응용 프로그램을 Heroku에 배포하면 푸시 된 코드가 slug으로 컴파일됩니다.이 코드는 본질적으로 응용 프로그램을 실행하는 데 필요한 모든 자료의 아카이브입니다. 응용 프로그램을 다시 시작하거나 크기를 조정하면 원본 slug이 복사되어 실행됩니다. 그러나 읽기 전용 슬러그이므로 파일을 업로드 할 때받은 파일을받은 dyno에 있으므로 여러 dynos가 있으면 파일이 존재하지 않고 응용 프로그램이 다시 시작되거나 새 코드를 푸시하지 않을 때 계속 유지되지 않습니다. 그들을 검색 할 수있는 방법이 있습니까? Heroku가에있는 파일을 perist하는

귀하의 유일한 방법은 아마존 S3와 같은 외부 클라우드 스토리지 솔루션, 랙 스페이스 파일 등을 사용하는 것입니다 - https://devcenter.heroku.com/articles/paperclip-s3