2013-11-27 17 views
5

Tôi muốn yêu cầu máy chủ chạy trong bình python có tệp và một số thông tin meta. Do đó, nội dung yêu cầu-Type của tôi sẽ là 'multipart/form-data. Có cách nào tôi có thể thiết lập loại nội dung của tập tin như hình ảnh/jpg, hình ảnh/gif vv ... Làm cách nào để đặt loại nội dung cho tệp. Có thể hay khôngLoại nội dung cho từng tệp trong yêu cầu trăn

+0

Bạn đã thử một cái gì đó chưa? Điều này nghe có vẻ như một cái gì đó sẽ được giải thích trong tài liệu. –

+0

@SimeonVisser: Mặc dù điều này là có thể, nó là * không * tài liệu ở bất cứ đâu, trên thực tế. –

+0

@MartijnPieters: đủ công bằng, có vẻ như bạn đã trả lời câu hỏi bên dưới. –

Trả lời

13

Nếu bạn thực hiện mỗi kiểu tập tin một tuple, bạn có thể chỉ định các loại mime như một tham số thứ ba:

files = { 
    'file1': ('foo.gif', open('foo.gif', 'rb'), 'image/gif'), 
    'file2': ('bar.png', open('bar.png', 'rb'), 'image/png'), 
} 
response = requests.post(url, files=files) 

Bạn có thể cung cấp cho một tham số thứ 4 là tốt, mà phải là một cuốn từ điển với tiêu đề bổ sung cho từng phần.

+0

Nó không còn hợp lệ nữa với phiên bản Yêu cầu – Khertan

+1

@Khertan gần đây: Điều gì làm cho bạn nghĩ? [Tài liệu] (http://docs.python-requests.org/en/latest/user/advanced/#post-multiple-multipart-encoded-files) vẫn giữ nguyên. Bạn có thể sử dụng cả hai chuỗi '(khóa, tệp tin)' tuples như được hiển thị ở đó và một từ điển như tôi sử dụng ở đây. –

+1

@Khertan: Tôi chỉ thử lại lần nữa với nhánh chính, và điều này vẫn hoạt động như tôi hiển thị ở đây. –

Các vấn đề liên quan