Próbuję ustalić, czy zdalny adres URL jest obrazem. Większość adresów URL ma .jpg, .png itp. ... ale niektóre obrazy, takie jak obrazy Google, nie mają rozszerzenia ... tj.Rozszerzenia obrazu Carrierwave
Próbowałem za pomocą FastImage celu ustalenia, czy adres URL jest obraz. Działa, gdy adres URL jest podany do niego ...
W jaki sposób mogę się upewnić, że zdalne adresy URL korzystają z FastImage, a przesłane pliki korzystają z białej listy? Oto, co mam w moim uploaderze. Avatar_remote_url nie jest rozpoznawany ... co zrobić w przesyłającym, aby przetestować zdalne adresy URL, a nie zwykłe pliki.
def extension_white_list
if defined? avatar_remote_url && !FastImage.type(CGI::unescape(avatar_remote_url)).nil?
# ok to process
else # regular uploaded file should detect the following extensions
%w(jpg jpeg gif png)
end
end
Możliwe, że można użyć wyrażenia regularnego, aby zezwolić na przesłanie czegokolwiek z http: //encrpyted-tbn0.gstatic – ahmet