首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在salesforce中保存图像

无法在salesforce中保存图像
EN

Stack Overflow用户
提问于 2014-04-07 12:49:51
回答 1查看 769关注 0票数 0

我试着为每个联系人保存并显示一个图像。我在各自的联系人中成功地保存了图像。但是,当我刷新页面时,我所附的照片并没有显示。以下是代码:

代码语言:javascript
复制
    <apex:page standardController="Contact" extensions="photo_attachmentcls">
<apex:pageBlock >
<apex:form >
  <apex:inputFile value="{!attach}" fileName="{!fileName}"></apex:inputFile>
  <apex:commandButton value="Load" action="{!loader}" />
  <apex:actionSupport event="onchange" />
  </apex:form>
  <apex:outputPanel id="iidd1">
<img id="theImage" src="/servlet/servlet.FileDownload?file={!dsa}" width="100" height="100" />
    </apex:outputPanel>
</apex:pageBlock>

</apex:page>
代码语言:javascript
复制
public class photo_attachmentcls {
    public Attachment asd{get;set;}
    public string purl{get;set;}
    public blob attach{get;set;}
    public String fileName{get;set;}
    public Id recId{get;set;} 
    public String dsa {get;set;}
    public photo_attachmentcls(ApexPages.StandardController ctrl) {

           recId = ApexPages.currentPage().getParameters().get('id');
           asd = new Attachment();



    }
    public void loader()
    {

        asd.body = attach;
        asd.Name = fileName;
        asd.ParentId =  recId;
         insert asd;
        system.debug('nnnn'+asd);
        dsa = asd.id;
        system.debug('ddddd'+dsa);

    }    
}

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 17:29:38

当页面加载时,您需要检查该记录的附件是否存在:

代码语言:javascript
复制
public class photo_attachmentcls {

    public Attachment asd{get;set;}
    public string purl{get;set;}
    public blob attach{get;set;}
    public String fileName{get;set;}
    public Id recId{get;set;} 
    public String dsa {get;set;}

    public photo_attachmentcls(ApexPages.StandardController ctrl) {

           recId = ApexPages.currentPage().getParameters().get('id');

           // check if the contact already has an attachment:
           Contact thisRecord = [select id, (Select Id From NotesAndAttachments) from Contact where Id =: recId];
           if(!thisRecord.NotesAndAttachments.isEmpty()){
                dsa = thisRecord.NotesAndAttachments[0].Id;
           } else{
               asd = new Attachment();
           }

    }
    public void loader()
    {

        asd.body = attach;
        asd.Name = fileName;
        asd.ParentId =  recId;
         insert asd;
        system.debug('nnnn'+asd);
        dsa = asd.id;
        system.debug('ddddd'+dsa);

    }    
}

我建议选择更好的变量名,但我认识到这是某种类型的原型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22912918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档