If I try to to submit form data using "Content-Type: multipart/form-data", the request is rejected with the message "406 Not Acceptable: Unsupported request content type multipart/form-data". Multipart forms should be supported because they are the best way to upload images.


Status:Active» Closed (won't fix)

This is a duplicate of #1066154: Add support for multipart/form file upload which I believe needs some d6 testers.

Status:Closed (won't fix)» Closed (duplicate)


Status:Closed (duplicate)» Active

The solution in #1066154: Add support for multipart/form file upload was never supposed to work with PUT requests - only with POST requests since PHP doesn't recognize PUT requests and therefor doesn't know how to handle them. That's one of the reasons why I thought we should either code our own support for multipart or not support it at all.

Marking this as active since #1066154: Add support for multipart/form file upload won't solve it.

Regarding multipart being the best way to upload images - I disagree. A PUT or POST containing the raw file alone would in my opinion be better since it's easier and as far as I know there's also support for building such resources in Services already.


You're right that uploading a raw file alone is a great solution - this is the strategy I'm currently working on. My statement in the original report would be better put as: Multipart forms are a better way to send a raw file and metadata than a JSON or XML request with base64_encode, because it avoids the encoding overhead and inflation.

Its been fixed in 7.x by adding it to the parsers for the rest server, however this wasn't done in 6.x

'multipart/form-data' => 'RESTServer::parseFile',

This has been fixed in 6.x

Status:Active» Fixed

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

As a reference, here is the related PHP bug : https://bugs.php.net/bug.php?id=55815
"PUT request data should be parsed just like POST"