2012-10-22 14 views
9

requestsを使用してファイルをアップロードしようとしています。私はPDFファイルをアップロードし、同時に著者名のような他のデータをフォームに送信する必要があります。リクエストを使用してファイルをアップロードして余分なデータを送信

requests.get(url, files = {"file":open("file.txt"), "author" : "me" }) 

しかし、それは、フォームにデータを送信しません:

は、私はこれを試してみました。

+3

を例は、[ドキュメント](http://requests.readthedocs.org/en/latest/user/quickstart/#post-a-multipart-encoded-fileに与えられています)。あなたはそれに問題がありますか? –

+0

@BurhanKhalid質問をもう一度見てください –

答えて

14

URLに、いくつかの追加パラメータと共にpdfファイルをアップロードしたいと思います。

最初に表示されているエラーは.get()で、.post()ではありません。

私はdocumentationのサンプルを使用しています。これは、あなたが始める必要があります。

>>> url = 'http://httpbin.org/post' 
>>> files = {'file': open('somefile.pdf', 'rb')} 
>>> values = {'author': 'John Smith'} 
>>> r = requests.post(url, files=files, data=values) 
+0

私はこれを行うように求められます。http:// server-url/oauth /に複数のポストリクエストをしてください。次のフォームフィールドを使用します。 AUTHOR、PDF FILE' –

+1

ファイルを 'data'パラメータdict.?に追加する必要がありますか? –

+0

いいえ、 'files'パラメータに追加します。' data'パラメータは、フォームデータ用です。 –

関連する問題