【问题标题】:How to use URLFOR() in Lightning web component of salesforce?如何在 Salesforce 的 Lightning Web 组件中使用 URLFOR()?
【发布时间】:2020-09-10 19:44:42
【问题描述】:

我是 Salesforce 中文件处理的新手。我目前正在下载自定义对象的所有记录的文件。我阅读了很多博客,发现有几种方法可以做到这一点。我决定采用牧羊人 URLFOR() 方法,因为它看起来简单易行,但现在我拥有字符串格式的所有 ContentDocumentId,而且我不知道如何在 Lightning Web 组件中使用 URLFOR()。每个博客和帖子都提供了 URL,但是一旦创建,我就无法找到如何使用它。是在 Apex 还是 HTML 页面中使用?

有人可以指导我吗?

这是我创建的网址

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

【问题讨论】:

    标签: salesforce salesforce-lightning salesforce-communities


    【解决方案1】:

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

    您说的是 Lightning Web 组件(称为 LWC),因此此语法无效。 我建议使用using the navigation service 的标准方法。

    如果你真的想使用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('/')}?`
      }
    }
    

    文件下载.html

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

    请注意,我之前更改了网址以添加/sfsites/c,因为您似乎在谈论一个社区。如果不是,那么您可以删除该部分。

    P.S:我不知道你是如何获得 contentVersionIds 列表的,所以我没有介绍那部分。

    【讨论】:

    • 非常感谢,您回答了我的问题。我已经完成了 contentVersionIds 的列表。
    猜你喜欢
    • 2018-12-11
    • 2019-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多