Paperclip을 사용하여 다음과 같이 URL에서 이미지를 가져 오려고합니다.클립 : 이미지를 프로그램 방식으로 지정하고 이름을 설정합니다.
require 'open-uri'
user.photo = open(url)
문제는 다음 파일 이름이 'open-uri20110915-4852-1o7k5uw'와 비슷하다는 것입니다. user.photo에서 파일 이름을 변경할 수있는 방법이 있습니까?
Paperclip이 내 파일을 S3에 저장하고 있기 때문에 초기 할당에서 원하는 파일 이름을 설정하면 이미지가 오른쪽 S3 키에 업로드됩니다. 이런 식으로 :
user.photo = open(url), :filename => URI.parse(url).path
그리고 'open (url)'을 사진에 지정하면 어떻게됩니까? 나는 사진이 이미 S3에있는 기존 사용자와 함께이 작업을 시도했습니다. 이제'u.photo_file_name'은 새 이름을 반환하지만'u.photo (: original)'는 여전히'u.photo.path'뿐만 아니라 오래된 S3 URL을 가지고 있습니다. 그리고 S3의 파일은 움직이지 않았습니다. –
이미지가있는 경우 "photo.reprocess!"를 호출해야 할 수 있습니다. Paperclip에서 저장소 백엔드 (S3)를 업데이트하도록하십시오. 그렇지 않으면, 위의 첫 번째 저장하기 전에 작동하고 올바르게 저장을 수행 할 때 S3에 올바르게 저장해야합니다 –
경우에 따라 paperclip은 문자를 대체하기 위해 파일 이름을 변경하므로주의해야합니다. . – James