0

나중에 sinatra-activerecord를 사용하여 이미지를 데이터베이스에 저장하려고합니다.파일을 저장하고 반환하는 방법

Photo.create(photo:params[:image][:tempfile].read) 

을하지만 그것을 반환 할 때 나는 실제로 내가를 볼 수있는 브라우저가 진행되는 URL에 갈 때 브라우저가 아닌 이미지 아이콘을 표시하고 : 현재 (내가 생각하는) 절약이 제대로 작동 임의의 문자를 엉망으로 만든다. 어떻게하면 이것을 작동시킬 수 있습니까? 왜 제가 일하는 것이 아닙니까? 여기

내가 그것을 반환하려고하는 방법이다 : 당신은 이미 @thesecretmaster이 알고하지 않았다 믿을 수 없어,

file = Tempfile.new('photo') 
file.write(Photo.find(params[:id]).photo) 
return file 

답변

0

와우, 그것은 (당신이 제출 content-type를 저장 한 것이 명백하다 params[:image][:type]) return file 때 저장된 이진 이미지를 retuning 전에 content_type <previously saved content-type> 설정해야합니다. 또한 이미이 작업을 수행하지 않았다면 params[:image][:tempfile].read 유형을 activerecord에 저장하거나 다양한 AttributteError을 얻을 수 있습니다.