1

업로드중인 새 이미지의 엄지 버전을 만들고 원래 파일도 유지하려고합니다. 하지만 난 단지 내 애플 리케이션에 이것을 추가하고 엄지 버전이없는 시간이 지남에 이미 업로드 된 600 이미지가 있습니다. 이미 업로드 한 이미지에 엄지 손가락이 있어야합니다.이미 반송파로 업로드 한 이미지의 엄지 손가락 버전을 추가하는 방법

반송파 문서 that you can run a script to re upload images in the DB to be a different size을 읽으면 알 수 있습니다. 그러나 이렇게하면 원본 이미지가 새로 크기가 조정 된 이미지로 바뀝니다.

내가 문서에서 가지고있는 것과 비슷한 것을 할 수 있지만 image_thumb 열에 저장하고 original_image 열의 이미지를 바꾸지는 못하나요? 기본적으로 original_image 열을 통해 크기를 조정하고 image_thumb 열에 저장하십시오.

+0

일반적으로 carrierwave는 전체 크기 버전을 유지합니다. 따라서'recreate_versions'를 실행하면 원래 크기와 크기가 조정 된 이미지로 끝나야합니다. –

답변

1

Carrierwaves recreate_versions!은 업로드 된 파일의 처리 된 버전에만 영향을주고 원본 파일은있는 그대로 유지됩니다. 즉, recreate_versions!으로 전화하는 것이 안전해야 함을 의미합니다. 이 pull request에서 해당 동작에 대한 증거를 볼 수 있습니다.

+0

감사합니다. 그래서 명확하게하기 위해 원본 파일과'original_file' 컬럼 ​​만 남기고 엄지 손가락을 만들고'image_thumb' 컬럼에 엄지 위치를 저장합니다. 죄송합니다. 실행하기 전에 두 번 확인하고 모든 원본 파일의 이름을 썸 파일 이름으로 바꿉니다. – Rob

+0

DB에 아무 것도하지 않습니다. DB에는 원본 파일 이름 만 있습니다. 예 : 'myimage.jpg'. 버전을 다시 만들면 DB도 그대로 유지되지만 URL을 엄지 손가락으로 반환하는 추가 게터가 제공됩니다. 'my_model_instance.original_file.url'과'my_model_instance.original_file.image_thumb.url'을 사용하여 크기가 조정 된 버전을 사용하여 원본 파일을 얻습니다 (귀하의 업 로더가'original_file' 필드에 마운트되어 있고 엄지 버전이'image_thumb'이라면). [doc] (https://github.com/carrierwaveuploader/carrierwave#adding-versions)의 두 번째 코드 샘플을 참조하십시오. –