微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Salesforce的Lightning Web组件中使用URLFOR? fileDownload.js fileDownload.html

如何解决如何在Salesforce的Lightning Web组件中使用URLFOR? fileDownload.js fileDownload.html

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

有人可以引导我吗?

这是我形成的网址

{!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:我不知道您如何获得contentVersionId的列表,所以我没有涉及那部分。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。