如何在Salesforce中下载自定义对象所有记录的所有附件?

问题描述 投票:0回答:3

我不熟悉 Salesforce 中的文件处理。我想获取附加到自定义对象所有记录的所有文件。有人可以帮我吗?

salesforce salesforce-lightning salesforce-communities lwc
3个回答
2
投票

Old-school SF使用了

Attachment
对象,你可以简单地去
SELECT Body, ContentType, Name FROM Attachment WHERE ParentId = '...'
.

在 Lightning 中,您的附件很有可能被称为“文件”(实际的 API 名称是

ContentDocument
/
ContentVersion
)。检查附件的 ID 是否以 068 或 069 开头。它们没有直接链接到您的记录。取而代之的是
ContentDocumentLink
桌子,用于交叉共享相同的文件。 (你上传它一次就浪费了数据库空间,然后你可以在 Chatter 帖子、群组、其他记录中交叉链接它……)

官方 ERD 不是很好,请尝试在设置 -> 架构生成器中单击它,否则此答案可能会有所帮助:https://salesforce.stackexchange.com/a/160285/799。有一个示例查询,您可能需要对其进行一些微调,例如

SELECT ContentDocument.LatestPublishedVersion.VersionData
以获得实际的有效负载。

查看这里关于

ContentVersion
的其他问题。例如https://stackoverflow.com/a/48668673/313628(这是相反的方式,关于上传但应该给你一个好主意)。


0
投票

您可以使用开源的 sfdx-hardis 插件命令导出所有笔记和附件

  • 首先,定义一个文件导出

sfdx hardis:org:configure:files

当提示SOQL请求时,您可以输入

SELECT Id,Name FROM YourCustomObjectName__c

  • 然后,运行文件导出

sfdx hardis:org:files:export

article中的更多详细信息

免责声明:我公司作者 sfdx-hardis 插件


0
投票

您可以尝试批量下载的 AppExchange 工具,Satrang Mass File Download AppExchange App 只需点击几下即可帮助从标准和自定义对象下载批量文件和附件。

网址 - https://appexchange.salesforce.com/listingDetail?listingId=a0N3A00000EcsAOUAZ&tab=e

免责声明:我在 Satrang Technologies 工作,这是此海量文件下载 AppExchange 应用程序的发布者。

© www.soinside.com 2019 - 2024. All rights reserved.