From 8cb3ef6fb42ec760d59e54619206e81c0d2f4358 Mon Sep 17 00:00:00 2001 From: bydmm <521194743@qq.com> Date: Thu, 13 Mar 2014 15:19:09 +0800 Subject: [PATCH 1/2] fix https://github.com/dwilkie/carrierwave_direct/issues/129 --- lib/carrierwave_direct/uploader/direct_url.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/carrierwave_direct/uploader/direct_url.rb b/lib/carrierwave_direct/uploader/direct_url.rb index 0304d46..3689cd0 100644 --- a/lib/carrierwave_direct/uploader/direct_url.rb +++ b/lib/carrierwave_direct/uploader/direct_url.rb @@ -5,10 +5,9 @@ module DirectUrl def direct_fog_url(options = {}) fog_uri = CarrierWave::Storage::Fog::File.new(self, CarrierWave::Storage::Fog.new(self), nil).public_url if options[:with_path] - uri = URI.parse(fog_uri.chomp('/')) - path = "/#{key}" - uri.path += URI.escape(path) - fog_uri = uri.to_s + fog_uri = fog_uri.chomp('/') + path = URI.escape("/#{key}") + fog_uri = "#{fog_uri}#{path}" end fog_uri end From ea74267d0660a3e6bd58949854870f006c05e237 Mon Sep 17 00:00:00 2001 From: bydmm <521194743@qq.com> Date: Thu, 13 Mar 2014 15:34:48 +0800 Subject: [PATCH 2/2] rspec change path_with_special_chars --- spec/data/sample_data.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/data/sample_data.rb b/spec/data/sample_data.rb index 5140cb8..6dbf801 100644 --- a/spec/data/sample_data.rb +++ b/spec/data/sample_data.rb @@ -1,6 +1,6 @@ SAMPLE_DATA = { :path => "upload_dir/bliind.exe", - :path_with_special_chars => "upload_dir/some file & blah.exe", + :path_with_special_chars => "uploads/7cf36992-300b-4c54-8f74-c22bd76b69a6/Financial Module - Money Management - What is a Budget and Why is it Important?.pdf", :key => "some key", :guid => "guid", :store_dir => "store_dir",