Upload content (files) into Salesforce using ContentVersion object

Fifteen Stars TRF
Fifteen Stars

Upload content (files) into Salesforce using ContentVersion object

Hi,
Has anyone ever tried to upload content into Salesforce using ContentVersion object?
 
Using DataLoader, you have to activiate the "Upload Bulk API as Zip File (enable to upload binary attachments)" option and it works fine.
With this option activated, DataLoader automatically construct a zip file in which you can found:
- 1 file per document to load with the name "#attachment_000", "#attachment_001" and so on
- 1 file called "request.txt" corresponding to the input csv file with the content of the field VersionData has been changed to the corresponding entry in the archive file (#attachment_001 for example)
 
In tSalesforceOutptuBulkExec (TOS 6.3.1), this option doesn't exists in the settings and trying to run the job with the same input csv file produce the following error message (catched on Salesforce side):
InvalidBatch : Binary field VersionData is only supported for content types ZIP_XML and ZIP_CSV
Thank's.
 

TRF
Community Manager

Re: Upload content (files) into Salesforce using ContentVersion object

Hi TRF
I have checked with our developers, tSalesforceOutptuBulkExec component does not support this option yet, he suggested to create a feature request on our bugtracker.

Regards
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
Four Stars

Re: Upload content (files) into Salesforce using ContentVersion object

Hi,
how's progress with this option? Did u guys implemented it?
Have similar problem with tSalesforceOutptuBulkExec.
Four Stars

Re: Upload content (files) into Salesforce using ContentVersion object

Hi, I`m currently doing this. This is how the flow looks like, if you have any question please do let me know. 

In my case i have attachments from a legacy system that have been linked to customers. It`s a 2 step flow and it`s using context - 1st step is inserting files into SFDC (using ContentVersion object), 2nd step is quering the imported versions and adding them to a library that is being manually created in advance and sharing to all users through a Public group (Using ContentDocumentObject).

 

In the first part I`m reading the files from a folder, then i have two csv files where i`m doing two lookups - one for the filename and one for the customer.

 

Files.PNG

 

 

contentversion mapping.PNG

 

 

 

 

Five Stars

Re: Upload content (files) into Salesforce using ContentVersion object

Hi, 

I am trying ton insert PDF File in salesForce (ContentVersion), and i know that i must convert the File in 64 base's, is it possible to show the java code in your tjavarow component.

Thank's

Four Stars

Re: Upload content (files) into Salesforce using ContentVersion object

Hi, arezki
Here some sapmle may be proper to u:

FileInputStream pdfDocument = new FileInputStream(file);
    byte[] documentData = new byte[(int)file.length()];
    
    //fill array with some bytes
    pdfDocument.read(documentData);
    
    // Convert bytes array to Base64 string to fill Body field
    output_row.Body = new String(Base64.encodeBase64(documentData));

You should import the org.apache.commons.codec.binary.Base64 first which is lay in commons-codec-1.11.jar

Five Stars

Re: Upload content (files) into Salesforce using ContentVersion object

thank's F uncleYar. It ok form me

What’s New for Talend Spring ’19

Watch the recorded webinar!

Watch Now

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.

Download

Tutorial

Introduction to Talend Open Studio for Data Integration.

Watch

Downloads and Trials

Test drive Talend's enterprise products.

Downloads