使用相同的字段名称和不同的文件类型创建多部分表单数据

时间:2015-10-29 14:21:26

标签: python dictionary python-requests multipartform-data

我在创建多部分表单数据时遇到问题。我需要有3个文件的数据(每个文件应具有完全相同的字段名称)和json值。我使用MultipartEncoder来执行此操作,但是为了创建数据,它使用字典 - 这就是为什么我不能设置三个完全相同的字段值。我该怎么办?

这是我的一段代码,它可以正常工作但名为" mffc"有不同的字段名称,应该只调用" mfcc"

我的代码:

data = MultipartEncoder(
fields={
    'prototypeModel': ('prototypeModel', open(prototypeModel, 'rb'), 'application/octet-stream'),
    'mfcc_1': ('mfcc_1', open(mfcc_1, 'rb'), 'application/octet-stream'),
    'mfcc_2': ('mfcc_2', open(mfcc_2, 'rb'), 'application/octet-stream'),
    'mfcc_3': ('mfcc_3', open(mfcc_3, 'rb'), 'application/octet-stream'),
    'declaredParameters': json.dumps(declaredParameters)
}
)

print( '---------------------- start enroll ----------------------')
testEnrollResponse = requests.post(server+sessionID, data=data, headers={'Content-Type': data.content_type})
multipart_data = decoder.MultipartDecoder.from_response(testEnrollResponse)
userModel_out = multipart_data.parts[0].content

1 个答案:

答案 0 :(得分:1)

您可以使用元组列表,例如,

data = MultipartEncoder(
    fields=[
        ('prototypeModel': (...)),
        ('mfcc', ('mfcc', ...)),
        ('mfcc', ('mfcc', ...)),
        ('mfcc', ('mfcc', ...)),
        (declaredParameters', ...),
    ]
 )