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

create multipart form data with the same field names and different file types

我在创建多部分表单数据时遇到问题。我需要包含 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

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

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