โ12-22-2021 04:28 AM
I have a use case to upload a file (size > 50MB) to Salesforce. As Salesforce snappack supports file upload upto 50MB file so to upload file of size more than 50MB we need to use multipart form data request.
One part of request should be non-binary data and other part is binary data (file content) like below:
โboundary_string
Content-Disposition: form-data; name=โentity_contentโ;
Content-Type: application/json
{
โContentDocumentIdโ : โ069D00000000so2โ,
โReasonForChangeโ : โMarketing materials updatedโ,
โPathOnClientโ : โQ1 Sales Brochure.pdfโ
}
โboundary_string
Content-Type: application/octet-stream
Content-Disposition: form-data; name=โVersionDataโ; filename=โQ1 Sales Brochure.pdfโ
Binary data goes here.
โboundary_stringโ
Can someone help me how to achieve this in rest post snap?
Thanks,
Mihir
โ12-22-2021 04:56 AM
I can see that this is related with the ContentVersion object in Salesforce(correct me if I am wrong).
Instead of using Rest Post Snap, check with the Salesforce Create Snap. The Snap supports the ContentVersion object.
Regards,
Spiro Taleski
โ12-22-2021 08:11 AM
@Spiro_Taleski
I tried using Salesforce Create snap with ContentVersion object but it is has a limitation of uploading 50Mb of text file or 37Mb of binary file. But I have upload a file whose size can vary upto ~250Mb.
Thanks,
Mihir
โ12-22-2021 09:31 AM
I was not aware about that limitation. Did the snap fail if you try to upload content greater than 50MB/37MB?
I am not very familiar with the Salesforce APIโs, but you can try to send below sample as a body of the request (by replacing with your data):
{
"ContentDocumentId": "069D00000000so2",
"ReasonForChange": "Marketing materials updated",
"PathOnClient": "Q1 Sales Brochure.pdf",
"VersionData": "your binary file data(file content)"
}
And add Content Type = multipart/form-data, as a header of the request:
Regards,
Spiro Taleski
โ01-06-2022 07:29 AM
Hi @Spiro_Taleski,
Yes, Salesforce will send an error response if you try to upload content greater than 50MB/37MB using Salesforce APIโs.
I have tried as you suggested but it didnโt work. โน๏ธ
Thanks,
Mihir