diff --git a/app/models/site_setting.rb b/app/models/site_setting.rb index ec8b8e76244..858afb57987 100644 --- a/app/models/site_setting.rb +++ b/app/models/site_setting.rb @@ -132,6 +132,11 @@ class SiteSetting < ActiveRecord::Base SiteSetting.enable_s3_uploads || GlobalSetting.use_s3? end + def self.s3_base_url + path = self.s3_upload_bucket.split("/", 2)[1] + "#{self.absolute_base_url}#{path ? '/' + path : ''}" + end + def self.absolute_base_url bucket = SiteSetting.enable_s3_uploads ? Discourse.store.s3_bucket_name : GlobalSetting.s3_bucket_name diff --git a/app/models/upload.rb b/app/models/upload.rb index 867d4de3304..16f7fa71c0d 100644 --- a/app/models/upload.rb +++ b/app/models/upload.rb @@ -84,11 +84,9 @@ class Upload < ActiveRecord::Base # when using s3, we need to replace with the absolute base url if SiteSetting.Upload.s3_cdn_url.present? - path = Discourse.store.s3_bucket.split("/", 2)[1] - url = url.sub( SiteSetting.Upload.s3_cdn_url, - "#{Discourse.store.absolute_base_url}#{path ? '/' + path : ''}" + SiteSetting.Upload.s3_base_url ) end diff --git a/app/views/common/_discourse_javascript.html.erb b/app/views/common/_discourse_javascript.html.erb index 150c88f3fea..8a4f64b1091 100644 --- a/app/views/common/_discourse_javascript.html.erb +++ b/app/views/common/_discourse_javascript.html.erb @@ -58,7 +58,7 @@ <%- if SiteSetting.Upload.s3_cdn_url.present? %> Discourse.S3CDN = '<%= SiteSetting.Upload.s3_cdn_url %>'; <%- end %> - Discourse.S3BaseUrl = '<%= SiteSetting.Upload.absolute_base_url %>'; + Discourse.S3BaseUrl = '<%= SiteSetting.Upload.s3_base_url %>'; <%- end %> })();