如何在salesforce的Lightning web组件中使用URLFOR()



我是Salesforce中文件处理的新手。我目前正在下载自定义对象的所有记录的文件。我读了很多博客,发现有几种方法可以做到这一点。我决定采用shepherd URLFOR((方法,因为它看起来简单易行,但现在我有了字符串格式的所有ContentDocumentId,我不知道如何在Lightning web组件中使用URLFOR(。每一个博客和帖子都给出了URL,但我不知道如何使用它。它在Apex或HTML页面中使用吗?

有人能给我指路吗?

这是我形成的URL

{!URLFOR('/sfc/servlet.shepherd/version/download/' & StringOfContentDocumentIds &'?')}

这是VisualForce和Aura组件中使用的表达式语法。

您所说的是Lightning Web组件(称为LWC(,因此此语法无效。我建议使用标准方法,即使用导航服务。

如果你真的想使用shepherd技巧,那么你需要写这样的东西:

文件下载.js

import { LightningElement } from 'lwc'
export default class FileDownLoad extends LightningElement {
contentVersionIds = []
get urlOfContentDocumentFile () {
return `/sfsites/c/sfc/servlet.shepherd/version/download/${this.contentVersionIds.join('/')}?`
}
}

fileDownload.html

<template>
<a href={urlOfContentDocumentFile} target="_blank">Download</a>
</template>

请注意,我之前更改了url以添加/sfsites/c,因为您似乎在谈论社区。如果不是,那么你可以去掉那个部分。

p.S:我不知道你是怎么得到contentVersionId列表的,所以我没有涵盖这一部分。

最新更新