如何在 Salesforce 的 Lightning Web 组件中使用 URLFOR()?
How to use URLFOR() in Lightning web component of salesforce?
我不熟悉 Salesforce 中的文件处理。我目前正在下载自定义对象的所有记录的文件。我阅读了很多博客,发现有几种方法可以做到这一点。我决定采用 shepherd URLFOR() 方法,因为它看起来简单易行,但现在我拥有字符串格式的所有 ContentDocumentId,但我不知道如何使用 URLFOR()在闪电网络组件中。每个博客和 post 都提供了 URL,但我无法找到如何使用它。它是在 Apex 还是 HTML 页面中使用?
有人可以指导我吗?
这里是我组建的URL
{!URLFOR('/sfc/servlet.shepherd/version/download/' & StringOfContentDocumentIds &'?')}
这是 VisualForce 和 Aura 组件中使用的表达式语法。
您谈论的是 Lightning Web 组件(称为 LWC),因此此语法无效。
我建议使用 using the navigation service.
的标准方法
如果你真的想使用shepherd
技巧,那么你需要这样写:
fileDownload.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:我不知道你是如何获得 contentVersionIds 列表的,所以我没有介绍那部分。
我不熟悉 Salesforce 中的文件处理。我目前正在下载自定义对象的所有记录的文件。我阅读了很多博客,发现有几种方法可以做到这一点。我决定采用 shepherd URLFOR() 方法,因为它看起来简单易行,但现在我拥有字符串格式的所有 ContentDocumentId,但我不知道如何使用 URLFOR()在闪电网络组件中。每个博客和 post 都提供了 URL,但我无法找到如何使用它。它是在 Apex 还是 HTML 页面中使用?
有人可以指导我吗?
这里是我组建的URL
{!URLFOR('/sfc/servlet.shepherd/version/download/' & StringOfContentDocumentIds &'?')}
这是 VisualForce 和 Aura 组件中使用的表达式语法。
您谈论的是 Lightning Web 组件(称为 LWC),因此此语法无效。 我建议使用 using the navigation service.
的标准方法如果你真的想使用shepherd
技巧,那么你需要这样写:
fileDownload.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:我不知道你是如何获得 contentVersionIds 列表的,所以我没有介绍那部分。