Vote #71771
完了REST Uploads fail with fastcgi
0%
説明
Unable to upload attachments through REST API.
@curl --data-binary "@README" -H "Content-Type: application/octet-stream" -X POST -u admin:test http://localhost/uploads.xml@
Processing AttachmentsController#upload to xml (for 127.0.0.1 at 2012-05-04 11:52:53) [POST]
Parameters: {"action"=>"upload", "controller"=>"attachments", "format"=>"xml"}
NoMethodError (undefined method `size' for #):
app/models/attachment.rb:78:in `file='
app/controllers/attachments_controller.rb:70:in `new'
app/controllers/attachments_controller.rb:70:in `upload'
dispatch.fcgi:27
Rendering rescues/layout (internal_server_error)
journals
Webrick appears to work fine. Perhaps a problem related to fastcgi.
--------------------------------------------------------------------------------
I'm able to reproduce with apache+fastcgi.
--------------------------------------------------------------------------------
Unfortunately the various Rack::Handler's don't handle input all the same way :(
--------------------------------------------------------------------------------
Or maybe (untested):
<pre>
Index: app/controllers/attachments_controller.rb
===================================================================
--- app/controllers/attachments_controller.rb (revision 9616)
+++ app/controllers/attachments_controller.rb (working copy)
@@ -67,7 +67,7 @@
return
end
- @attachment = Attachment.new(:file => request.body)
+ @attachment = Attachment.new(:file => request.raw_post)
@attachment.author = User.current
@attachment.filename = Redmine::Utils.random_hex(16)
</pre>
--------------------------------------------------------------------------------
Jean-Philippe Lang wrote:
> Or maybe (untested):
Nope :(
<pre>
NoMethodError (undefined method `read' for #<String:0x7f191b1fbae0>):
app/models/attachment.rb:114:in `files_to_final_location'
app/models/attachment.rb:112:in `open'
app/models/attachment.rb:112:in `files_to_final_location'
app/controllers/attachments_controller.rb:74:in `upload'
dispatch.fcgi:27
</pre>
--------------------------------------------------------------------------------
Jeffrey Clark wrote:
> Nope :(
The patch should work after r9630.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Fixed in 1.4-stable (r9653) and trunk (r9652). Tested with apache2+fcgid.
--------------------------------------------------------------------------------