3

我正在使用 beatbox 和 python 将文档上传到 Salesforce,并且文件正确附加,但文件中包含的数据完全损坏。

def Send_File():
    import beatbox
    svc = beatbox.Client()  # instantiate the object
    svc.login(login1, pw1)  # login using your sf credentials

    update_dict = {
        'type':'Attachment',
        'ParentId': accountid,
        'Name': 'untitled.txt',
        'body':'/Users/My_Files/untitled.txt',
            }
    results2 = svc.create(update_dict)
    print results2

输出是:

    00Pi0000005ek6gEAAtrue

所以事情进展顺利,但是当我去 salesforce 记录 00Pi0000005ek6gEAA 并查看文件时,文件的内容是:

   ˝KÆœ  Wøä ï‡Îä˜øHÅCj÷øaÎ0j∑ø∫{b∂Wù

我不知道是什么导致了这个问题,我找不到任何其他人发生过这种情况的情况

链接到 关于上传的 SFDC 文档

4

1 回答 1

3

字典中的“body”值应该是文件的 base64 编码内容,而不是文件名。您需要自己阅读和编码文件内容。例如

body = ""
with open("/Users/My_Files/untitled.txt", "rb") as f:
    body = f.read().encode("base64")

update_dict = {
    'type' : 'Attachement'
    'ParentId' : accountId,
    'Name' : 'untitled.txt',
    'Body' : body }

...

关于附件的文档

于 2014-04-26T15:56:47.037 回答