Hi,

I'm trying to implement an API to a website which didn't have an API
yet. It's purpose will be to allow file uploads from 3rd party native
apps.

I'd like to implement the API like Dropbox v2 API, just as a good
reference for API design.

It's upload endpoint has the following specs:
https://www.dropbox.com/developers/documentation/http/documentation#files-upload

And the following cURL example:

curl -X POST https://content.dropboxapi.com/2/files/upload \
    --header "Authorization: Bearer " \
    --header "Dropbox-API-Arg: {\"path\":
\"/Homework/math/Matrices.txt\",\"mode\": \"add\",\"autorename\":
true,\"mute\": false}" \
    --header "Content-Type: application/octet-stream" \
    --data-binary @local_file.txt

Now my problem is that I've implemented most parts, but if the request
has --header "Content-Type: application/octet-stream" then WebOb
doesn't allow using request.POST. It says:

Not an HTML form submission (Content-Type: application/octet-stream)

If I remove that header, I can use request.POST.keys()[0] to read the
contents of the file as a string.

My question is:
1. What am I doing wrong that the Content-Type is not supported?
2. Is there any downside of having an up-to-100 MB file as a string?
Wouldn't the HTML multipart-form-data's file solution use less memory?
Can I make WebOb handle this kind of uploads like it does multipart
ones?

Zsolt

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/CAKw-smAFJd%2BMUcWmTn%3DMV9Mk5NQ1qHQGiMnHj4tVnEyhFJK6Gg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to