上传文件

HTML 表单

  • 使用 file 类型输入 ,浏览器将提供一个字段,允许用户选择要上载的文件。
  • 只有使用 post 方法的表单才能发送文件数据。
  • 确保设置表单的 enctype=multipart/form-data 属性。否则将发送文件名,但不会发送文件的数据。
  • 在输入上使用 multiple 属性可以为单个字段选择多个文件。
<form method=post enctype=multipart/form-data>
    <!-- single file for the "profile" field -->
    <input type=file name=profile>
    <!-- multiple files for the "charts" field -->
    <input type=file multiple name=charts>
    <input type=submit>
</form>

Python 请求

Requests 是一个功能强大的 Python 库,用于发出 HTTP 请求。你可以使用它(或其他工具)在没有浏览器的情况下发布文件

  • 打开要以二进制模式读取的文件。
  • files 有多种数据结构。这演示了一个 (name, data) 元组列表,它允许多个文件,如上面的表格。
import requests

with open('profile.txt', 'rb') as f1, open('chart1.csv', 'rb') as f2, open('chart2.csv', 'rb') as f3:
    files = [
        ('profile', f1),
        ('charts', f2),
        ('charts', f3)
    ]
    requests.post('http://localhost:5000/upload', files=files)

这并不是一份详尽的清单。有关使用你喜欢的工具或更复杂方案的示例,请参阅该工具的文档。