【问题标题】:visualforce sites displaying an image from salesforce显示来自 salesforce 的图像的 visualforce 站点
【发布时间】:2012-02-24 01:21:28
【问题描述】:

我正在使用网站并希望在我的一个页面中显示图像。该图像是 Salesforce 文档。我没有麻烦地显示静态资源。我已将图像的权限设置为外部可用。

(只是图片相关的代码..)

visualforce 代码:

<img src="{!Image}"/>

控制器代码:

string Image { get; set; }

public string getImage() {


List<Product2> productImage = new List<Product2>();
productImage = [SELECT Image__c FROM Product2];

return productImage[0].Image__c;
}

在萤火虫检查中,我注意到它可以正常获取图像的 URL,但无法显示它。有什么想法吗?

【问题讨论】:

  • 如果您查看 Firebug 的网络部分,它是否正在设法下载图像?可能与安全有关吗?或者如果它正在下载,也许您需要指定一些尺寸或类似的东西?
  • 嗨 lacey,我得到了 404,所以我猜它的权限相关欢呼
  • 听起来很可能 :) 祝你好运!
  • 尝试检查“在门户上查看内容”用户权限

标签: salesforce apex-code visualforce


【解决方案1】:

您可能需要先启用许多设置才能执行此操作。如果您查看link here,那么您应该在给出的答案中找到解决问题的方法。

保罗

【讨论】:

  • 为链接干杯保罗,那里的信息解决了问题。
【解决方案2】:

这是一个棘手的问题,需要在 URL 中包含 资源 ID。您可以通过将静态资源中的图像直接放在页面上来找出当前资源 ID 是什么,然后使用 Firebug 您可以看到 actual URL 是什么。例如,以下代码显示资源文件中的图像:

<apex:image url="{!URLFOR($Resource.Resources, 'MyImage.png')}">

假设此图像正确显示,您将在 Firebug 中看到 URL 中放置了一个看起来很奇怪的 ID。如果它没有显示,请按照 pbattisson 提供的链接寻求帮助。但如果是这样,那么这就是您需要用来显示图像的 实际 URL。

** 重要 - 当您更改或以其他方式重新保存静态资源文件时,此资源 ID 将更改,然后需要在某处应用此新资源 ID,例如在 URL_PREFIX 值中您存储在自定义设置中,或直接存储在 Product2 中的自定义 Image__c 字段中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 2011-12-22
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    相关资源
    最近更新 更多