문제

브라우저에서 파일을 업로드하고 하나의 축소판을 만들고 S3을 S3에 업로드하십시오.

 File.open(params[:file][:tempfile]) do |p|
      AWS::S3::Base.establish_connection!(
          :access_key_id     => settings.s3_key,
          :secret_access_key => settings.s3_secret)
      AWS::S3::S3Object.store(pic_name,p,settings.bucket,:access => :public_read)

      thumb = Magick::Image.read(p)
      thumb.crop_resized!(75, 75, Magick::NorthGravity)

      AWS::S3::Base.establish_connection!(
          :access_key_id     => settings.s3_key,
          :secret_access_key => settings.s3_secret)
      AWS::S3::S3Object.store(pic_name + "s",thumb,settings.bucket,:access => :public_read)
.

나는 가능한 코드 조합의 대부분을 시험해 보았지만, 세분화 오류 을 제공합니다

c:0060 p:---- s:0261 b:0261 l:000260 d:000260 CFUNC  :read
c:0059 p:0117 s:0257 b:0257 l:002638 d:000256 BLOCK  /Users/gkay/Documents/yirmiyedi/web/banne/app/controllers/firsat.rb:33
c:0058 p:---- s:0253 b:0253 l:000252 d:000252 FINISH
c:0057 p:---- s:0251 b:0251 l:000250 d:000250 CFUNC  :open
c:0056 p:0190 s:0247 b:0247 l:002638 d:000246 LAMBDA /Users/gkay/Documents/yirmiyedi/web/banne/app/controllers/firsat.rb:27
.

RMAGIC이 파일을 열려고 할 때 시작됩니다.나는 와 같은 많은 것을 시도했다.

thumb = Magick::Image.read(p).first or [0] etc but none of them worked.
.

아이디어가 있습니까? params [: file]은 파일을 유지하는 Post param입니다

도움이 되었습니까?

해결책

미니 Magick 를 사용하는 것을 제안합니다. 훨씬 적은 기억을 사용하고 훨씬 적은 버그가 적습니다....에우리는 RMAGICK에 많은 문제가 있었지만 미니 Magick은 없습니다.그리고 다른 하나로 전환하는 것이 매우 쉽습니다.

다른 팁

를 추가하십시오

GC.start
.

코드

ImageMagick을 제거한 경우 해결 된 문제는 OpenMP없이 ImageMagick를 설치 한 다음 RMAGICK 보석을 다시 설치했습니다.

모든 최신 방문자의 경우 ImageMagick은 현재 rmagick이없는 Heroku에서 작동하므로 Gemfile에 그것을 포함 할 필요가 없습니다.

그러나 PaperClip을 사용하는 경우이

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top