【问题标题】:Uploading files using requests and send extra data使用请求上传文件并发送额外数据
【发布时间】:2012-10-12 11:35:54
【问题描述】:

我正在尝试使用requests 上传文件。我需要上传一个 PDF 文件,同时将一些其他数据发送到表单中,比如作者的姓名。

我试过了:

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

但它不会向表单发送数据。

【问题讨论】:

  • the documentation 中给出了一个示例。你有问题吗?
  • @BurhanKhalid 请再看问题

标签: python python-2.7 python-requests


【解决方案1】:

所以我知道您想上传到一个 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)

【讨论】:

  • 我被要求这样做Make a multipart post request to http://server-url/oauth/. with the following form fields. AUTHOR, PDF FILE
  • 我应该在data参数dict.中添加文件吗?/?
  • 不,添加到files参数,data参数用于表单数据。
  • @BurhanKhalid - 您能否建议如何在端点中检索此数据。我正在使用烧瓶并使用request.data 获取文件内容。我怎样才能得到额外的数据(值)?
  • 在flask端点中使用request.form来检索数据。
猜你喜欢
  • 2014-02-23
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
  • 2015-12-07
  • 2012-02-19
  • 1970-01-01
  • 2014-06-04
  • 2020-01-14
相关资源
最近更新 更多