Saltar al contenido

cómo cargar archivos usando el código Apex

Solución:

Objeto ContentDocument no permite insertar DML operación en Salesforce, por lo que podemos cargarlo a través del ContentVersion objeto, sin ContentDocumentId. Después de DML en ContentVersion, se creará una nueva versión de ContentDocument para nosotros en Salesforce.

La forma más sencilla de hacer esto es usar inputFile y asignarlo a la instancia de ContentVersion. Como esto:

<apex:page controller="ContentController">
<apex:form>
    <apex:inputFile value="{!file}" />
    <apex:commandbutton action="{!upload}" value="Upload" />
</apex:form>
</apex:page>

Clase:

public class ContentController {
    public blob file { get; set; }

    public PageReference upload() {
        ContentVersion v = new ContentVersion();
        v.versionData = file;
        v.title="testing upload";
        v.pathOnClient="/somepath.txt";
        insert v;
        return new PageReference("https://foroayuda.es/" + v.id);
    }
}

Si desea compartir el archivo ContentVersion, luego de insertar DML, consulte ContentDocumentId de ContentVersion insertado y use ContentDocumentLink para crear una asociación entre Record y el archivo cargado ContentVersion.

https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_contentdocumentlink.htm

Usar “LinkedEntityId“para colocar el ID de registro al que se asociará este archivo.

Nota: LinkedEntityId – Puede incluir usuarios, grupos, registros de Chatter (cualquiera que admita el seguimiento de noticias en tiempo real de Chatter, incluidos objetos personalizados) y bibliotecas de contenido de Salesforce CRM.

Espero que esto ayude y marque esto como respuesta si lo hace. Gracias

Encontré una manera de insertar ContentVersion y adjuntarlo a Record en un SOQL.

<apex:page controller="ContentController">
    <apex:form>
        <apex:inputFile value="{!file}" />
        <apex:commandbutton action="{!upload}" value="Upload" />
    </apex:form>
</apex:page>

Clase:

public class ContentController {
    public blob file { get; set; }

    public PageReference upload() {
        ContentVersion v = new ContentVersion();
        v.versionData = file;
        v.title="testing upload";
        v.pathOnClient="/somepath.txt";
        v.FirstPublishLocationId = parentObj.Id; //similar to parentid
        insert v;
        return new PageReference("https://foroayuda.es/" + v.id);
    }
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *