1
下面的代码是Python Quickbase模块的一部分,它在很长一段时间内还没有更新。下面显示的一个函数的帮助文本不清楚如何传递参数来上传文件(其值实际上是base64编码的)。Quickbase模块add_record()函数文件上传参数?
def add_record(self, fields, named=False, database=None, ignore_error=True, uploads=None):
"""Add new record. "fields" is a dict of name:value pairs
(if named is True) or fid:value pairs (if named is False). Return the new records RID
"""
request = {}
if ignore_error:
request['ignoreError'] = '1'
attr = 'name' if named else 'fid'
request['field'] = []
for field, value in fields.iteritems():
request_field = ({attr: to_xml_name(field) if named else field}, value)
request['field'].append(request_field)
if uploads:
for upload in uploads:
request_field = (
{attr: (to_xml_name(upload['field']) if named else upload['field']),
'filename': upload['filename']}, upload['value'])
request['field'].append(request_field)
response = self.request('AddRecord', database or self.database, request, required=['rid'])
return int(response['rid'])
有人可以帮助我如何通过参数添加记录。
我的理解是uploads参数需要有3个值 - field_Id /字段名,文件名和base64编码文件在XML中传递,如下所示[link](https://www.quickbase.com/api -guide/add_record.html#base64-encoded_file_attachment) – speedchase
你是对的。我更新了我的答案,以反映该方法需要一个字典数组而不是单个字典,并且该字典有三个键/值对,而不是我最初编写的那个。 –
完美!它像一个魅力。现在我可以通过本地计算机上的扫描图像文件迭代此API请求以上传到Quickbase。 – speedchase