diff --git a/app/models/uploaded_file.rb b/app/models/uploaded_file.rb
index cb722a4..caa30b6 100644
--- a/app/models/uploaded_file.rb
+++ b/app/models/uploaded_file.rb
@@ -67,7 +67,7 @@ class UploadedFile < Article
'upload-file'
end
end
-
+
def mime_type
content_type
end
@@ -129,6 +129,12 @@ class UploadedFile < Article
end
end
+ def extension
+ dotindex = self.filename.rindex('.')
+ return nil unless dotindex
+ self.filename[(dotindex+1)..-1].downcase
+ end
+
def allow_children?
false
end
@@ -144,4 +150,5 @@ class UploadedFile < Article
def uploaded_file?
true
end
+
end
diff --git a/app/views/search/_image.rhtml b/app/views/search/_image.rhtml
index 8c83359..be85c67 100644
--- a/app/views/search/_image.rhtml
+++ b/app/views/search/_image.rhtml
@@ -1,7 +1,7 @@
<% if image.is_a? UploadedFile and image.filename %>
- <% extension = image.filename[(image.filename.rindex('.')+1)..-1].downcase %>
+ <% extension = image.extension %>
<% if ['jpg', 'jpeg', 'gif', 'png', 'tiff', 'svg'].include? extension %>
<%= link_to '', image.view_url, :class => "search-image-pic", :style => 'background-image: url(%s)'% image.public_filename(:thumb) %>
<% if image.width && image.height %>
diff --git a/test/unit/uploaded_file_test.rb b/test/unit/uploaded_file_test.rb
index 2a2f83a..55f774f 100644
--- a/test/unit/uploaded_file_test.rb
+++ b/test/unit/uploaded_file_test.rb
@@ -306,6 +306,11 @@ class UploadedFileTest < ActiveSupport::TestCase
uses_sqlite
end
+ should 'return extension' do
+ file = UploadedFile.create!(:uploaded_data => fixture_file_upload('/files/rails.png', 'image/png'), :profile => @profile)
+ assert_equal 'png', file.extension
+ end
+
should 'upload to path prefix folder if database is not postgresql' do
uses_sqlite
file = UploadedFile.create!(:uploaded_data => fixture_file_upload('/files/test.txt', 'text/plain'), :profile => @profile)
--
libgit2 0.21.2