Commit 818281d0 by Prem Sichanugrist

Merge pull request #811 from brumm/master

Fixes AWS::S3::Errors::RequestTimeout on Model#save
parents 05cda021 74c88f1c
...@@ -49,6 +49,7 @@ module Paperclip ...@@ -49,6 +49,7 @@ module Paperclip
def copy_to_tempfile(src) def copy_to_tempfile(src)
dest = Tempfile.new(src.original_filename) dest = Tempfile.new(src.original_filename)
dest.binmode
FileUtils.cp(src.path(:original), dest.path) FileUtils.cp(src.path(:original), dest.path)
dest dest
end end
......
...@@ -57,6 +57,7 @@ module Paperclip ...@@ -57,6 +57,7 @@ module Paperclip
def copy_to_tempfile(src) def copy_to_tempfile(src)
dest = Tempfile.new(original_filename) dest = Tempfile.new(original_filename)
dest.binmode
FileUtils.cp(src.path, dest.path) FileUtils.cp(src.path, dest.path)
dest dest
end end
......
...@@ -51,6 +51,7 @@ module Paperclip ...@@ -51,6 +51,7 @@ module Paperclip
def copy_to_tempfile(src) def copy_to_tempfile(src)
dest = Tempfile.new(original_filename) dest = Tempfile.new(original_filename)
dest.binmode
FileUtils.cp(src.path, dest.path) FileUtils.cp(src.path, dest.path)
dest dest
end end
......
...@@ -5,6 +5,8 @@ class AttachmentAdapterTest < Test::Unit::TestCase ...@@ -5,6 +5,8 @@ class AttachmentAdapterTest < Test::Unit::TestCase
rebuild_model :path => "tmp/:class/:attachment/:style/:filename" rebuild_model :path => "tmp/:class/:attachment/:style/:filename"
@attachment = Dummy.new.avatar @attachment = Dummy.new.avatar
@file = File.new(fixture_file("5k.png")) @file = File.new(fixture_file("5k.png"))
@file.binmode
@attachment.assign(@file) @attachment.assign(@file)
@attachment.save @attachment.save
@subject = Paperclip.io_adapters.for(@attachment) @subject = Paperclip.io_adapters.for(@attachment)
...@@ -14,6 +16,10 @@ class AttachmentAdapterTest < Test::Unit::TestCase ...@@ -14,6 +16,10 @@ class AttachmentAdapterTest < Test::Unit::TestCase
assert_equal "5k.png", @subject.original_filename assert_equal "5k.png", @subject.original_filename
end end
should "force binmode on tempfile" do
assert @subject.instance_variable_get("@tempfile").binmode?
end
should "get the content type" do should "get the content type" do
assert_equal "image/png", @subject.content_type assert_equal "image/png", @subject.content_type
end end
......
...@@ -4,6 +4,7 @@ class FileAdapterTest < Test::Unit::TestCase ...@@ -4,6 +4,7 @@ class FileAdapterTest < Test::Unit::TestCase
context "a new instance" do context "a new instance" do
setup do setup do
@file = File.new(fixture_file("5k.png")) @file = File.new(fixture_file("5k.png"))
@file.binmode
@subject = Paperclip.io_adapters.for(@file) @subject = Paperclip.io_adapters.for(@file)
end end
...@@ -11,6 +12,10 @@ class FileAdapterTest < Test::Unit::TestCase ...@@ -11,6 +12,10 @@ class FileAdapterTest < Test::Unit::TestCase
assert_equal "5k.png", @subject.original_filename assert_equal "5k.png", @subject.original_filename
end end
should "force binmode on tempfile" do
assert @subject.instance_variable_get("@tempfile").binmode?
end
should "get the content type" do should "get the content type" do
assert_equal "image/png", @subject.content_type assert_equal "image/png", @subject.content_type
end end
......
...@@ -5,11 +5,14 @@ class UploadedFileAdapterTest < Test::Unit::TestCase ...@@ -5,11 +5,14 @@ class UploadedFileAdapterTest < Test::Unit::TestCase
context "with UploadedFile responding to #tempfile" do context "with UploadedFile responding to #tempfile" do
setup do setup do
class UploadedFile < OpenStruct; end class UploadedFile < OpenStruct; end
tempfile = File.new(fixture_file("5k.png"))
tempfile.binmode
@file = UploadedFile.new( @file = UploadedFile.new(
:original_filename => "5k.png", :original_filename => "5k.png",
:content_type => "image/png", :content_type => "image/png",
:head => "", :head => "",
:tempfile => File.new(fixture_file("5k.png")) :tempfile => tempfile
) )
@subject = Paperclip.io_adapters.for(@file) @subject = Paperclip.io_adapters.for(@file)
end end
...@@ -18,6 +21,10 @@ class UploadedFileAdapterTest < Test::Unit::TestCase ...@@ -18,6 +21,10 @@ class UploadedFileAdapterTest < Test::Unit::TestCase
assert_equal "5k.png", @subject.original_filename assert_equal "5k.png", @subject.original_filename
end end
should "force binmode on tempfile" do
assert @subject.instance_variable_get("@tempfile").binmode?
end
should "get the content type" do should "get the content type" do
assert_equal "image/png", @subject.content_type assert_equal "image/png", @subject.content_type
end end
...@@ -58,6 +65,10 @@ class UploadedFileAdapterTest < Test::Unit::TestCase ...@@ -58,6 +65,10 @@ class UploadedFileAdapterTest < Test::Unit::TestCase
assert_equal "5k.png", @subject.original_filename assert_equal "5k.png", @subject.original_filename
end end
should "force binmode on tempfile" do
assert @subject.instance_variable_get("@tempfile").binmode?
end
should "get the content type" do should "get the content type" do
assert_equal "image/png", @subject.content_type assert_equal "image/png", @subject.content_type
end end
...@@ -76,7 +87,9 @@ class UploadedFileAdapterTest < Test::Unit::TestCase ...@@ -76,7 +87,9 @@ class UploadedFileAdapterTest < Test::Unit::TestCase
end end
should "read the contents of the file" do should "read the contents of the file" do
expected = File.new(@file.path).read expected_file = File.new(@file.path)
expected_file.binmode
expected = expected_file.read
assert expected.length > 0 assert expected.length > 0
assert_equal expected, @subject.read assert_equal expected, @subject.read
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment