You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Brad Rhoads <bd...@gmail.com> on 2012/11/09 20:20:17 UTC
How To Set A Standalone Attachment Content Type
This question is also at
http://stackoverflow.com/questions/13281021/how-to-set-a-standalone-attachment-content-type
I've been able to create a standalone attachment, but the content_type ends
up as multipart/form-data. What I am I doing wrong? The code is followed by
the response from the post and then the request; you can see in the request
that the content type is correct in the Request Payload.
Code:
function uploadFile() {
var fd = new FormData();
var file = document.getElementById('fileToUpload').files[0];
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("PUT",
"http://usr:pswd@localhost:5984/db_test/testdoc7/"+ file.name
+"?rev=1-967a00dff5e02add41819138abb3284d");
xhr.send(fd);
}
Response:
{
"_id": "testdoc7",
"_rev": "2-2841dcd640adb94de525e486be34052e",
"_attachments": {
"P9025287.JPG": {
"content_type": "multipart/form-data;
boundary=----WebKitFormBoundary9QNXLDTeW13Gc1ip",
"revpos": 2,
"digest": "md5-VcoscthaPUYoWHBmCBaAnA==",
"length": 3083669,
"stub": true
}
}
}
Request:
Request URL:http://usr:pswd@localhost:5984/db_test/testdoc7/P9025287.JPG?rev=1-967a00dff5e02add41819138abb3284d
Request Method:PUT
Status Code:201 Created
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:3083669
Content-Type:multipart/form-data;
boundary=----WebKitFormBoundary9QNXLDTeW13Gc1ip
Cookie:AuthSession=YmRyaG9hOjUwOUFFNDg3OnR23NsQsqdQvnKp7HX_0g90grXw
Host:localhost:5984
Origin:http://localhost:5984
Referer:http://localhost:5984/estante_test/_design/library/html5/html5test.html
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2)
AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64
Safari/537.11
Query String Parametersview URL encoded
rev:1-967a00dff5e02add41819138abb3284d
Request Payload
------WebKitFormBoundary9QNXLDTeW13Gc1ip
Content-Disposition: form-data; name="fileToUpload"; filename="P9025287.JPG"
Content-Type: image/jpeg
------WebKitFormBoundary9QNXLDTeW13Gc1ip--
Response Headersview source
Cache-Control:must-revalidate
Content-Length:71
Content-Type:text/plain; charset=utf-8
Date:Wed, 07 Nov 2012 22:45:40 GMT
ETag:"2-2841dcd640adb94de525e486be34052e"
Location:http://localhost:5984/estante_test/testdoc7/P9025287.JPG
Server:CouchDB/1.2.0 (Erlang OTP/R15B)
---------------------------
www.maf.org/rhoads
www.ontherhoads.org
Re: How To Set A Standalone Attachment Content Type
Posted by Jens Alfke <je...@couchbase.com>.
On Nov 9, 2012, at 11:20 AM, Brad Rhoads <bd...@gmail.com>> wrote:
I've been able to create a standalone attachment, but the content_type ends
up as multipart/form-data. What I am I doing wrong?
As shown in the HTTP log, the Content-Type header of the PUT is “multipart/form-data”, so that’s what CouchDB stores as the MIME type of the attachment. If you want it to remember a different type, you should send that as the value of the Content-Type header.
—Jens