gpt4 book ai didi

salesforce - 如何获取附件的可下载链接?

转载 作者:行者123 更新时间:2023-12-03 19:41:29 25 4
gpt4 key购买 nike

我为一个帐户上传了 jpeg 图片。 jpeg 图像文件 id 为 069i0000001dkl8 并且无法通过以下方式访问, https://c.na15.content.force.com/servlet/servlet.FileDownload?file=069i0000001dkl8

但它可以通过以下方式访问, https://c.na15.content.force.com/sfc/servlet.shepherd/version/download/068i0000001hwPn?asPdf=false&operationContext=CHATTER

有没有一种方法可以让我在 salesforce 中获取附件的可下载 URL(使用 api 调用)?或者有没有一种方法可以通过处理 API 对象 (SObject) 中的某些字段来构建可下载的 URL?

谢谢。

最佳答案

在 15 年冬季,Salesforce 使这成为可能。您可以创建一个将附件转换为 ContentVersion 的类和 ContentDistribution .然后将 ContentDistribution 的 DistributionPublicUrl 字段传递给用户。

代码会是这样的

            list<Attachment> invoices = [select id, name, body from attachment limit 10];
list<ContentVersion> contents = new list<ContentVersion>();
list<ContentDistribution> dists = new list<ContentDistribution>();

for(Attachment inv: invoices){
ContentVersion cont = new ContentVersion();
cont.Title = inv.Name;
cont.PathOnClient = inv.Name;
cont.VersionData = inv.Body;
contents.add(cont);
}
insert contents;

for(ContentVersion cont : contents){
ContentDistribution cd = new ContentDistribution();
cd.name = cont.Title;
cd.ContentVersionId = cont.id;
cd.PreferencesAllowOriginalDownload = true;
cd.PreferencesAllowPDFDownload = true;
cd.PreferencesAllowViewInBrowser = true;
dists.add(cd);
}

insert dists ;

关于salesforce - 如何获取附件的可下载链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26655087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com