CarrierWave + rmagick gem을 사용하여 서버에 이미지를 업로드하고 있습니다. 정상 파일을 업로드 할 때 모든 것이 잘됩니다. 그러나 형식이 잘못된 파일을 업로드 할 때 양식 오류로 CarrierWave 오류가 표시되지 않고 rmagick을 실행할 때 나타나는 오류가 표시됩니다.rmagick에서 오류를 잡을 때 CarrierWave 오류 메시지가 변경됨
간단한 예입니다.
class BaseImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :fog
def extension_white_list
%w(jpg jpeg gif png)
end
end
class PictureUploader < BaseImageUploader
def default_url
'placeholder.png'
end
def store_dir
'images/pictures'
end
version :thumb do
process resize_to_fit: [50, 50]
end
version :medium do
process resize_to_fill: [400, 400]
end
version :small_square do
process resize_to_fill: [200, 200]
end
end
그리고 내가 만들 :
이class User < ActiveRecord::Base
...
mount_uploader :avatar, PictureUploader
end
이제, 업 로더가 여기에 정의합니다 (avatar
문자열 field
입니다) : 나는 User
모델, 그리고 그런 그 안에 업 로더가 예를 들어 빈 파일 (예 : touch ~/Desktop/file.jpg
)을 사용하여 양식을 통해 업로드하려고하면 여기에 유효성 검사 오류가 표시됩니다.
Avatar Failed to manipulate with rmagick, maybe it is not an image? Original Error: Empty input file `<foldername>/public/uploads/tmp/1470905765-10111-5893/thumb_file.jpg' @ error/jpeg.c/JPEGErrorHandler/322
(3210)는 내가 대신 rmagick의 ming_magick 사용했지만, 결과는 (약간 다른 오류 메시지와 함께) 동일
내가 대신 기본의 Avatar Your image is invalid
같은 말을이 검증 메시지를 변경하기 위해 뭔가를 할 수 있습니까?