Adds Etags on attachments.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9963 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
e74d4ecf5f
commit
2dbabde7f4
|
@ -52,19 +52,22 @@ class AttachmentsController < ApplicationController
|
||||||
@attachment.increment_download
|
@attachment.increment_download
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if stale?(:etag => @attachment.digest)
|
||||||
# images are sent inline
|
# images are sent inline
|
||||||
send_file @attachment.diskfile, :filename => filename_for_content_disposition(@attachment.filename),
|
send_file @attachment.diskfile, :filename => filename_for_content_disposition(@attachment.filename),
|
||||||
:type => detect_content_type(@attachment),
|
:type => detect_content_type(@attachment),
|
||||||
:disposition => (@attachment.image? ? 'inline' : 'attachment')
|
:disposition => (@attachment.image? ? 'inline' : 'attachment')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def thumbnail
|
def thumbnail
|
||||||
if @attachment.thumbnailable? && Setting.thumbnails_enabled? && thumbnail = @attachment.thumbnail
|
if @attachment.thumbnailable? && Setting.thumbnails_enabled? && thumbnail = @attachment.thumbnail
|
||||||
|
if stale?(:etag => thumbnail)
|
||||||
send_file thumbnail,
|
send_file thumbnail,
|
||||||
:filename => filename_for_content_disposition(@attachment.filename),
|
:filename => filename_for_content_disposition(@attachment.filename),
|
||||||
:type => detect_content_type(@attachment),
|
:type => detect_content_type(@attachment),
|
||||||
:disposition => 'inline'
|
:disposition => 'inline'
|
||||||
|
end
|
||||||
else
|
else
|
||||||
# No thumbnail for the attachment or thumbnail could not be created
|
# No thumbnail for the attachment or thumbnail could not be created
|
||||||
render :nothing => true, :status => 404
|
render :nothing => true, :status => 404
|
||||||
|
|
Loading…
Reference in New Issue