[
https://issues.apache.org/jira/browse/COUCHDB-1368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497418#comment-13497418
]
Jens Alfke commented on COUCHDB-1368:
-------------------------------------
It turns out "Content-ID" is not the correct header to use for the filename,
because according to RFC2045 sec.7, "Content-ID values must be generated to be
world-unique". (I didn't know this when writing up this issue, but discovered
it later on while implementing MIME support for TouchDB. I should have updated
this issue too; sorry!)
The most appropriate header to use seems to be Content-Disposition (RFC1806):
Content-Disposition: attachment; filename="test.txt"
This is what TouchDB generates, and what it will recognize in incoming MIME
documents.
> multipart/related document body doesn't identify which part is which
> attachment
> -------------------------------------------------------------------------------
>
> Key: COUCHDB-1368
> URL: https://issues.apache.org/jira/browse/COUCHDB-1368
> Project: CouchDB
> Issue Type: Bug
> Components: HTTP Interface
> Reporter: Jens Alfke
> Priority: Minor
>
> If you GET a document with attachments in multipart/related format (by adding
> ?attachments=true and setting Accept:multipart/related), the MIME bodies for
> the attachments have no headers. This makes it difficult to tell which one is
> which. Damien says they're in the same order that they appear in the
> document's "_attachments" object ... which is fine if you're Erlang, because
> Erlang preserves the order of keys in a JSON object, but no other JSON
> implementation I know of does that (because they use hashtables instead of
> linked lists.)
> The upshot is that any non-Erlang code trying to parse such a response will
> have to do some by-hand parsing of the JSON data to get the _attachment keys
> in order.
> This can be fixed by adding a "Content-ID" header to each attachment body,
> whose value is the filename. It would be nice if other standard headers were
> added too, like "Content-Type", "Content-Length", "Content-Encoding", as this
> would make it work better with existing MIME multipart libraries.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira