VF页面生成word图片不显示解决
- 2019 年 10 月 8 日
- 笔记
- vf页面配置成以下就能生成word文档
<apex:page cache="true" contentType="application/vnd.msword#he.docx" applyBodyTag="false">
2.生成word中静态资源图片显示,需将salesforce中静态资源图片设置为公用
VF页面
<apex:image width="300" height="90" value="{!$Resource.静态资源名称}"/>
3.生成word中动态图片上传附件,将附件图片在word中显示!由于附件中图片是在某个对象的一个记录,无法将附件图片设置为公用!而需要访问此图片,则需要实现不登录SF就能通过附件路径加载该图片!在SF中有两种方式,一种是通过开启社区,还有一种是设置站点。
(1)开启社区,首先找到设置

(2)然后搜索社区,没有开启社区的,直接去启用就好了

(3)点击全部社区,新建社区

(4)建好后进行发布,可以看到工作区旁边有构建器

(5)点击构建器,将公众可以访问社区勾选。

(6)然后点击test简档,点击编辑


(7)给某个自定义对象勾选权限,然后点击保存

(8)最后用社区域名就能访问到该对象的附件了,不需要再登录SF

VF中代码可以这样写
<apex:image value="{!if(att.Id != null ,
'https://你社区的域名.ap8.force.com/ss/servlet/servlet.FileDownload?file='+att.Id,'')}" />
二站点
(1)同样是去设置中搜索站点

(2)点击站点,没有站点的,第一时间是需要给站点起个域名,然后点击新建

(3)然后输入基本操作信息,点击保存

(4)然后点击公开访问设置

(5)对该简档进行编辑



(6)给需要权限的对象开启一些权限,然后点击保存

(7)最后使用站点url去访问改对象的附件的路径servlet/servlet.FileDownload?file=att.id


vf中代码写法
<apex:image value="{!if(att.Id != null ,
'http://你站点的url/servlet/servlet.FileDownload?file='+att.Id,'')}" />
然后word中也会显示出来啦
